Oracle游标和游标变量的区别

oracle游标我们经常用到,下面介绍oracle游标和游标变量的区别。

oracle游标是数据库中一个命名的工作区,当游标被声明后,他就与一个固定的SQL想关联,在编译时刻是已知的,是静态的,它永远指向一个相同的查询工作区。

游标变量可以在运行时刻与不同的SQL语句关联,在运行时可以取不同的SQL语句。它可以引用不同的工作区。

oracle游标和游标变量是不能相互代替的。

如何定义游标类型:

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行类型

控制oracle游标变量:open...for...(打开游标变量,与多行查询连接起来)  fetch(从结果集中取行数据)  close(关闭游标变量)

 

转载于:https://www.cnblogs.com/AI-xiaocai/p/11218265.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值