oracle游标和游标变量的区别及用法详解
2012-04-23 14:27
218 查看
转载自:http://orajc.blog.51cto.com/458434/105931
游标是数据库中一个命名的工作区,当游标被声明后,他就与一个固定的SQL想关联,在编译时刻是已知的,是静态的.它永远指向一个相同的查询工作区.
游标变量可以在运行时刻与不同的SQL语句关联,在运行时可以取不同的SQL语句.它可以引用不同的工作区.
游标和游标变量是不能相互代替的.
如何定义游标类型
TYPE ref_type_name IS REF CURSOR [RETURN return_type];
声明游标变量
cursor_name ref_type_name;
ref_type_name 是后面声明游标变量时要用到的我们的游标类型(自定义游标类型,即CURSOR是系统默认的,ref_type_name是我们定义的
);return_type代表数据库表中的一行,或一个记录类型
TYPE ref_type_name IS REF CURSOR RETURN employee%TYPE
RETURN 是可选的,如果有是强类型,可以减少错误,如果没有return是弱引用,有较好的灵活性.
不能在包头里面声明游标变量,注意,但可以定义游标类型,要注意这二者的区别.
可以声明游标变量作为函数或过程的形式参数.
%TYPE一个列类型
%ROWTYPE行类型
控制游标变量
OPEN-FOR(打开游标变量,与多行查询连接起来) FETCH(从结果集中取行数据),close(关闭游标变量)
BULK COLLECT子句将游标变量中的行一次性提取到一个集合中.
本文出自 “achilles” 博客,请务必保留此出处http://orajc.blog.51cto.com/458434/105931
游标是数据库中一个命名的工作区,当游标被声明后,他就与一个固定的SQL想关联,在编译时刻是已知的,是静态的.它永远指向一个相同的查询工作区.
游标变量可以在运行时刻与不同的SQL语句关联,在运行时可以取不同的SQL语句.它可以引用不同的工作区.
游标和游标变量是不能相互代替的.
如何定义游标类型
TYPE ref_type_name IS REF CURSOR [RETURN return_type];
声明游标变量
cursor_name ref_type_name;
ref_type_name 是后面声明游标变量时要用到的我们的游标类型(自定义游标类型,即CURSOR是系统默认的,ref_type_name是我们定义的
);return_type代表数据库表中的一行,或一个记录类型
TYPE ref_type_name IS REF CURSOR RETURN employee%TYPE
RETURN 是可选的,如果有是强类型,可以减少错误,如果没有return是弱引用,有较好的灵活性.
不能在包头里面声明游标变量,注意,但可以定义游标类型,要注意这二者的区别.
可以声明游标变量作为函数或过程的形式参数.
%TYPE一个列类型
%ROWTYPE行类型
控制游标变量
OPEN-FOR(打开游标变量,与多行查询连接起来) FETCH(从结果集中取行数据),close(关闭游标变量)
BULK COLLECT子句将游标变量中的行一次性提取到一个集合中.
本文出自 “achilles” 博客,请务必保留此出处http://orajc.blog.51cto.com/458434/105931
相关文章推荐
- oracle游标和游标变量的区别及用法详解
- oracle游标和游标变量的区别及用法详解
- MySQL自定义函数用法详解-复合结构自定义变量/流程控制
- 详解location.href几种用法的区别
- PHP exec 函数及 system,exec,passthru 区别用法详解
- Java中static变量作用和用法详解
- 变量的定义和声明的区别详解
- StringBuilder的用法详解及和String的区别
- linux unset命令参数及用法详解--linux删除自定义变量或函数
- PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
- eclpise的Navigator和Package的区别 &tomcat、java环境变量详解
- php魔术变量用法实例详解
- 实例详解$_SERVER函数中QUERY_STRING和REQUEST_URI等四个变量区别
- AngularJS中的ng-repeat、ng-repeat-start和ng-repeat-end的用法区别详解
- PHP中VC6、VC9、TS、NTS版本的区别与用法详解
- SQL中全局变量和局部变量的区别及用法
- PHP中VC6、VC9、TS、NTS版本的区别与用法详解
- 详解Java异常处理中throw与throws关键字的用法区别
- 详解Java中super的几种用法并与this的区别
- jQuery中attr()与prop()函数用法实例详解(附用法区别)