Oracle常识基础(四)

简介:
<*>动态sql     Oracle中的动态sql可以通过本地动态sql命令执行,也可以通过DBMS_SQL程序包来执行。     语法:     execute immediate 动态sql语句字符串       [using  绑定输入参数变量<参数值>]    <*>错误处理     >预定义异常     pl/sql支持的预定义异常:     异常    说明     ACCESS_INTO_NULL  在未初始化对象时出现     CASE_NOTE_FOUND   在case语句中的选项与用户输入的数据不匹配是出现     COLLECTION_IS_NULL  在给尚未初始化的表或数组赋值时出现     CURSOR_ALREADY_OPEN  在用户试图打开已经打开的游标是出现,在重先打开游标前必须先将其关闭     DUP_VAL_ON_INDEX  在用户试图将重复的值存储在使用唯一索引的数据库列中时出现。     INVALID_CURSOR   在执行非法的游标运算是出现。     INVALIE_NUMBER   在将字符串转换为数字时出现。     LOGIN_DENIED   在输入用户名或密码无效时出现     NO_DATA_FOUND   在表中不存在请求的行是出现。     STORAGE_ERROR   在内存损坏或pl/sql耗尽内存时出现。     TOO_MANY_ROWS   在执行select into语句后返回多行时出现。     VALUE_ERROR   在产生大小限制错误时出现。     ZERO_DIVIDE   以零做除数时出现。     使用异常的语法:     exception 异常名称 then     执行异常处理语句....     >用户自定义异常     语法:      声明: 自定义异常名称 EXCEPTION;      使用raise语句显示引发:raise 自定义异常名称      处理: exception 自定义异常名称 then       执行异常处理语句....     >引发应用程序错误     过程RAISE_APPLICATION_ERROR用于创建用户定义的错误信息。     语法:     RAISE_APPLICATION_ERROR(error_number,error_message)     其中:     error_number:指定的异常编号,必须在-20000和-20999之间的负整数。     error_message:异常指定的消息文本。长度可答2048字节,错误消息是与error_number表示关联的文本。     十一.游标管理     游标是构建在pl/sql中,用来查询数据,获取记录集合的指针。    <*>静态游标     静态游标是在编译时知道其select语句的游标。     >隐式游标      Oracle预定义了一个sql的隐式游标,通过检查隐式游标的属性可以获取与最近执行的sql语句相关的信息。     隐式游标的属性:      .. %found:在dml语句影响一行或多行时,%found属性在返回true。      .. %notfound:与%found的作用正好相反,如果没有影响任何行,则返回true。      .. %rowcount:返回dml语句影响的行数,如果没有影响行则返回0。      .. %isopen:返回游标是否已经打开的值。在执行sql语句之后,Oracle自动关闭sql游标,所以隐式游标的%isopen属性始终为false。     >显示游标     显示游标是由用户显示声明的游标。根据在游标中定义的查询,查询返回的行集合可以包含零行或多行,这些行称为活动集。游标将指向活动集中的当前行。     显示游标的标准操作过程:     1.声明游标     2.打开游标     3.从游标中获取记录     4.关闭游标     显示游标在declare部分的声明语法:     cursor cursor_name [(parameter[,parameter..])]      [return return_type] is select_statement;     其中:      cursor_name:是游标的名称。     parameter:用于为游标指定输入参数。     return_type:定义游标提取的行的类型。     select_statement:指定游标的查询语句。     在声明游标后可以用下列语句控制游标:     open:打开游标。     fetch: 从游标中提取行。     close: 关闭游标。     显示游标同样有隐式游标的属性并起相同。     使用显示游标删除或更改:     如果处理过程中需要删除或更新行,在定义游标时必须使用select...for update语句,而在执行delete或update时使用where current of 字句指定游标的当前行。   a  **提示:select语句必须只包括一个表,而且delete和update语句只有在打开游标并提取特定行之后才能使用。


     本文转自My_King1 51CTO博客,原文链接:http://blog.51cto.com/apprentice/1360654,如需转载请自行联系原作者

相关文章
|
存储 SQL 缓存
数据库小技能:Oracle基础【上篇】
QPS: 请求进入的速度 并发数: 系统中同时存在的请求数 并发数 = QPS * 耗时
231 0
数据库小技能:Oracle基础【上篇】
|
Oracle 关系型数据库 数据库
oracle基础
oracle基础
116 1
|
Oracle 关系型数据库 数据库
数据库小技能:Oracle基础之【常用函数】
虚表dual ,它是一行一列,没有任何数据,常常用于测试。
201 0
|
SQL 算法 Oracle
数据库小技能:Oracle基础之【查询】
DQL:(数据查询语言,select)用来完成对数据库中的数据查询。 DDL(数据定义语言,create,drop,truncate截断表)操作表结构。 DML(数据库操作语言,insert,delete,update)操作数据
147 0
|
SQL 存储 缓存
数据库小技能:Oracle基础【中篇】
提高数据库运行效率的方法:从数据库系统级优化、数据库设计级优化和程序实现级优化。
199 0
|
存储 缓存 Oracle
oracle基础
oracle基础
147 0
|
SQL Oracle 关系型数据库
Oracle数据库PL/SQL学习笔记二——基础控制语句
Oracle数据库PL/SQL学习笔记二——基础控制语句
133 0
|
SQL 存储 Oracle
Oracle数据库 | 基于SQL基础分析
Oracle数据库 | 基于SQL基础分析
137 0
|
SQL 存储 运维
Oracle--基础
Oracle--基础
267 0
|
Oracle 关系型数据库
Oracle基础语句练习记录
Oracle基础语句练习记录
119 0

推荐镜像

更多