数据库
wang20051
这个作者很懒,什么都没留下…
展开
-
Oracle Net服务 -- 理论
目标:控制数据库启动和关闭Oracle ListenerOracle Net服务使用Database Control创建另外的监听器 使用Database Control创建Oracle Net服务别名 使用Database Control配置连接时间故障切换 使用Listener特性 使用Oracle Net Manager 配置客户和中间层连接 使用TNSPING测试O...2007-08-31 13:20:08 · 88 阅读 · 0 评论 -
第六章 PL/SQL与Oracle间交互(2)
四、使用游标FOR循环在大多数需要使用显式游标的情况下,我们都可以用一个游标FOR循环来代替OPEN、FETCH和CLOSE语句。游标FOR循环隐式地声明了一个 %ROWTYPE类型的记录作为它的循环索引,打开游标,然后反复执行把结果集中的行放到索引中去,最后在所有行都被处理完成后关闭游标。思考下面PL/SQL块例子,它能从一个实验中计算出结果,然后把结果保存在一张临时表中。FOR循环的索引c...2008-04-24 10:11:15 · 83 阅读 · 0 评论 -
第六章 PL/SQL与Oracle间交互(3)
12、游标变量的限制目前,游标变量有以下限制: 不能在包中声明游标变量。例如,下面的声明就是不允许的:CREATE PACKAGE emp_stuff AS TYPE empcurtyp IS REF CURSOR RETURN emp%ROWTYPE; emp_cv empcurtyp; -- not allowedEND emp_stuff; 处于...2008-04-24 10:13:44 · 143 阅读 · 0 评论 -
第七章 控制PL/SQL错误
一、错误控制一览在PL/SQL中,警告或错误被称为异常。异常可以是内部(运行时系统)定义的或是用户定义的。内部定义的案例包括除零操作和内存溢出等。一些常见的内部异常都有一个预定义的名字,如ZERO_DIVIDE和STORAGE_ERROR等。对于其它的内部异常,我们可以手动为它们命名。 我们可以在PL/SQL块、子程序或包的声明部分自定义异常。例如,我们可以定义一个名为insufficien...2008-04-24 10:14:51 · 148 阅读 · 0 评论 -
第八章 PL/SQL子程序
一、什么是子程序子程序就是能够接受参数并被其他程序所调用的命名PL/SQL块。PL/SQL子程序有两种类型,过程和函数。一般地,过程用于执行一个操作,而函数用于计算一个结果值。与未命名或匿名PL/SQL块一样,子程序也有声明部分,执行部分和一个可选的异常处理部分。声明部分包含类型、游标、常量、变量、异常和嵌套子程序的声明。这些内容都是本地的,在程序退出时会自动销毁。执行部分包含赋值语句、流程控...2008-04-24 10:16:49 · 100 阅读 · 0 评论 -
第九章 PL/SQL包
一、什么是PL/SQL包包就是一个把各种逻辑相关的类型、常量、变量、异常和子程序组合在一起的模式对象。包通常由两个部分组成:包说明和包体,但有时包体是不需要的。说明(简写为spec)是应用程序接口;它声明了可用的类型、变量、常量、异常、游标和子程序,包体部分完全定义游标和子程序,并对说明中的内容加以实现。 如下例所示,我们可以认为说明部分是一个可选接口,而包体是一个"黑盒"。我们可以调试、增强...2008-04-24 10:17:47 · 93 阅读 · 0 评论 -
第十章 PL/SQL对象类型 ( 1 )
第十章 PL/SQL对象类型 一、抽象的角色抽象是对一个真实世界实体的高级描述或建模。它能排除掉无关的细节内容,使我们的日常生活更有条理。例如,驾驶一辆汽车时,我们是不需要知道它的发动机是如何工作的。由变速排档、方向盘、加速器和刹车组成的接口就能让我们有效地使用它。而其中每一项的详细信息对于日常驾驶来说并不重要。 抽象是编程的核心内容。例如,我们在隐藏一个复杂的算法时只要编写一个过程,然后...2008-04-24 10:20:33 · 176 阅读 · 0 评论 -
第十章 PL/SQL对象类型 ( 2 )
七、声明并初始化对象只要对象类型在模式中定义了,我们就可以在任何PL/SQL块、子程序或包中引用它来声明对象。例如,我们可以使用对象类型作为属性、字段、变量、绑定变量、记录的域、表元的素、形式参数或函数返回值的数据类型。在运行时,对象类型的实例会被创建,也就是对象实例被初始化。 1、定义对象我们可以在使用内置类型(如CHAR或NUMBER)的地方使用对象类型。在下面的块中,我们声明了Rati...2008-04-24 10:24:19 · 165 阅读 · 0 评论 -
第十一章 本地动态SQL
第十一章 本地动态SQL一、什么是动态SQL大多数PL/SQL都做着一件特殊的结果可预知的工作。例如,一个存储过程可能接受一个雇员的编号和他的提薪金额,然后更新表emp中的信息。在这种情况下,UPDATE的全部文本内容在编译期就完全确定下来,这样的语句不会随着程序的执行而发生变化。所以,称它们为静态SQL语句。 但是,有些程序只能是在运行时建立并处理不同的SQL语句。例如,一般用途的报告...2008-04-24 10:26:28 · 108 阅读 · 0 评论 -
第十二章 PL/SQL应用程序性能调优
第十二章 PL/SQL应用程序性能调优一、PL/SQL性能问题的原由当基于PL/SQL的应用程序执行效率低下时,通常是由于糟糕的SQL语句、编程方法,对PL/SQL基础掌握不好或是滥用共享内存造成的。 PL/SQL中糟糕的SQL语句 PL/SQL编程看起来相对比较简单,因为它们的复杂内容都隐藏在SQL语句中,SQL语句常常分担大量的工作。这就是为什么糟糕的SQL语句是执行效率低下...2008-04-24 10:27:37 · 83 阅读 · 0 评论 -
第六章 PL/SQL与Oracle间交互 ( 1 )
第六章 PL/SQL与Oracle间交互一、PL/SQL支持的SQL一览PL/SQL扩展了SQL,变得更加强大和易用。我们可以用PL/SQL灵活安全地操作Oracle数据,因为它支持所有的SQL数据操作语句(除了EXPLAIN PLAN),事务控制语句,函数,伪列和操作符。PL/SQL还支持动态SQL,能让我们动态地执行SQL数据定义,数据控制和会话控制语句。除此之外, PL/SQL还遵...2008-04-24 10:05:24 · 145 阅读 · 0 评论 -
第五章 PL/SQL集合与记录(4)
十四、利用BULK COLLECTION子句为集合赋值关键字BULK COLLECT会通知SQL引擎在将数据返回给PL/SQL引擎之前,把输出的数据批量地绑定到一个集合。我们可以在SELECT INTO、FETCH INTO和RETURNING INTO子句中使用BULK COLLECT。语法如下: ... BULK COLLECT INTO collection_name[, col...2008-04-24 10:03:08 · 180 阅读 · 0 评论 -
Windows下面配置Oracle10g即时客户端
一、安装指导 安装步骤: 1. 为您的平台下载相应的即时客户端程序包。所有的安装都要求 Basic 或 Basic Lite 程序包。 2. 将程序包解压缩到单个目录,如“instantclient”。 3. 在您环境中设置资料库加载路径,使其指向步骤 2 中确定的目录 ("instantclient")。在许多 UNIX 平台上,LD_LIBRARY_PATH 为...原创 2009-09-30 13:54:49 · 127 阅读 · 0 评论 -
第一章 PL/SQL一览
第一章 PL/SQL一览一、理解PL/SQL的主要特性了解PL/SQL最好的方法就是从简单的实例入手。下面的程序是用于处理一个网球拍订单的。首先声明一个NUMBER类型的变量来存放现有的球拍数量。然后从数据表inventory中把球拍的数量检索出来。如果数量大于零,程序就会更新inventory表,并向purchase_record表插入一条购买记录,如果数量不大于零,程序会向purch...2008-04-24 08:34:44 · 67 阅读 · 0 评论 -
第三章 PL/SQL数据类型
第三章 PL/SQL数据类型一、预定义数据类型Oracle的数据类型可以分为四类,分别是标量类型,复合类型,引用类型和LOB类型。标量类型没有内部组件;而复合类型包含了能够被单独操作的内部组件;引用类型类似于3G语言中的指针,能够引用一个值;LOB类型的值就是一个lob定位器,能够指示出大对象(如图像)的存储位置。下图是在PL/SQL中可以使用的预定义类型,其中标量类型又分为四类:数字...2008-04-24 08:38:58 · 95 阅读 · 0 评论 -
第四章 PL/SQL的控制结构
第四章 PL/SQL的控制结构一、PL/SQL控制结构一览根据结构定理(structure theorem),任何计算机程序都可以用下图中的基本控制结构来表示。它们可以任意组合来解决问题。 选择结构是用于测试条件的,根据条件的真假,执行一系列语句。一个条件语句可以是任何能够返回布尔值(TRUE或FALSE)的变量或表达式。循环结构能在条件满足的情况下反复执行。序列结构只是简单的按照顺序...2008-04-24 09:39:08 · 90 阅读 · 0 评论 -
第二章 PL/SQL基础(1)
第二章 PL/SQL基础 一、字符集在PL/SQL程序中,允许出现的字符集包括: 大小写字母(A-Z和a-z) 数字(0-9) 符号( ) + - * / < > = ! ~ ^ ; : . ’ @ % , " # $ & _ | { } ? [ ] 制表符、空格和回车符 PL/SQL对大小写不敏感,所以,除了在字符串和字符中,小写字母和它对应的大写字母...2008-04-24 09:48:00 · 129 阅读 · 0 评论 -
第二章 PL/SQL基础(2)
四、PL/SQL命名规范同样的命名规约适用于所有的PL/SQL程序,规约涉及的内容包括常量、变量、游标、异常、过程、函数和包。命名可能是简单的,加以限定的,远程的或是既加以限定又是远程的。例如,我们也许可能用到以下几种调用过程raise_salary的方式: raise_salary(...); -- simpleemp_actions.raise_salary(...); -...2008-04-24 09:49:26 · 148 阅读 · 0 评论 -
第五章 PL/SQL集合与记录(1)
第五章 PL/SQL集合与记录一、什么是集合集合就是相同类型的元素的有序合集。它一个通用的概念,其中包含了列表、数组和其他相似的数据类型。每一个元素都有唯一的下标来标识当前元素在集合中的位置。PL/SQL提供了以下几种集合类型:索引表,也称为关联数组,可以让我们使用数字或字符串作下标来查找元素。(这有点和其他语言中的哈希表相类似。) 嵌套表可以容纳任意个数的元素,使用有序数字作下标。...2008-04-24 09:53:30 · 145 阅读 · 0 评论 -
第五章 PL/SQL集合与记录(2)
八、在SQL语句中使用PL/SQL的集合类型集合允许我们用PL/SQL来操作复杂的数据类型。我们的程序能计算下标索引值,并在内存中处理指定的元素,然后用SQL语句把结果保存到数据库中。1、关于嵌套表的例子例一:创建与PL/SQL嵌套表对应的SQL类型 在SQL*Plus中,我们可以创建与PL/SQL嵌套表和变长数组相对应的SQL类型: SQL> CREATE TYPE ...2008-04-24 09:59:26 · 102 阅读 · 0 评论 -
第五章 PL/SQL集合与记录(3)
十一、避免集合异常大多情况下,如果我们引用了一个集合中不存在的元素,PL/SQL就会抛出一个预定义异常。例如: DECLARE TYPE numlist IS TABLE OF NUMBER; nums numlist; -- atomically nullBEGIN /* Assume execution continues despite the raised exc...2008-04-24 10:01:18 · 99 阅读 · 0 评论 -
Oracle PL/SQL 过程调试的输出方法
1.最基本的DBMS_OUTPUT.PUT_LINE()方法。 随便在什么地方,只要是BEGIN和END之间,就可以使用DBMS_OUTPUT.PUT_LINE(output); 然而这会有一个问题,就是使用该函数一次最多只可以显示255个字符,否则缓冲区会溢出。 此外,函数DBMS_OUTPUT.ENABLE(20000)这种函数,仅仅是设置整个过程的全部输出缓冲区大小,而非D...2008-04-24 10:29:35 · 178 阅读 · 0 评论