游标概念图:
游标语法:4 个步骤,获取 学生信息表(stu_info)的记录
执行截图:
特别说明:sql%notfound
Oracle 官方文档解释:. If fetch never executes susscessfully. the loop is never exited, because then EXIT WHEN statement executes only if it’s WHEN condition is true. To be safe. you might want to use the following EXIT statement instead:
简单说,退出循环的必要条件:fetch 语句执行成功 + 第一次 fetch 的值返回 null
3.1.1 隐式游标 dml
演示:
测试结果:
3.1.2 显式游标 cursor
情况1:不带参数:同上 -> 游标语法:(4 个步骤)
情况2:带参数(声明参数值和类型):
测试结果(都一样,因为都是取得 id=1 的记录):
3.2.1 自定义类型 ref cursor
情况1:弱类型,无 return(常用)
输出结果:
情况2:强类型,有 return
输出结果:(同弱类型一样)
3.2.2 系统类型 sys_refcursor
常用,省去了手动定义动态游标的步骤,以下效果等同:
测试结果:(建议在 ‘测试窗口’ debug 看看执行步骤)
如果对 table 类型、record 类型有疑问,
请点击 %type、%rowtype、record,varry、table 的使用详解
转载请注明来自石家庄天鲲化工设备有限公司 ,本文标题:《Oracle 游标详解(cursor)》
百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!
还没有评论,来说两句吧...