Oracle游标和游标变量的区别
oracle游标我们经常⽤到,下⾯介绍oracle游标和游标变量的区别。
oracle游标是数据库中⼀个命名的⼯作区,当游标被声明后,他就与⼀个固定的SQL想关联,在编译时刻是已知的,是静态的,它永远指向⼀个相同的查询⼯作区。
游标变量可以在运⾏时刻与不同的SQL语句关联,在运⾏时可以取不同的SQL语句。它可以引⽤不同的⼯作区。
oracle游标和游标变量是不能相互代替的。
如何定义游标类型:
type ref_type_name is ref cursor [RETURN return_type];oracle游标的使用
声明游标变量:
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⾏类型
控制oracle游标变量:(打开游标变量,与多⾏查询连接起来) fetch(从结果集中取⾏数据) close(关闭游标变量)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论