游标是Oracle数据库比较常用的一个基础知识点,做了一下查询,把学习到的东西写下来以防遗忘
感谢博主分享:https://blog.csdn.net/qq_34745941/article/details/81294166
这里写自定义目录标题
1. 游标的本质
2. 游标四大属性
3. 游标分类
4. 游标效率问题
-
游标的本质
一个具有指针的内存数据集,通过牺牲内存提高sql执行效率 -
游标四大属性
SQL%ISOPEN(判开)
SQL%FOUND(判值)
SQL%NOTFOUND(判无值)【特别注意的是必须要先fetch,再判断】
SQL%ROWCOUNT(判成功执行行数) -
游标分类
静态游标(隐式、显式)
动态游标(系统、自定义)
隐式游标:
凡是dml语句和select into,都会自动创建隐式游标
显式游标:
不带参数:
cursor 游标名 is
select id from student;
带参数:
cursor 游标名(参数名 参数类型) is
select id from student where id =参数名;
自定义游标(可以有返回值,一般不需要返回值)
有返回值的是强类型自定义游标,且返回值类型与游标变量类型必须一致
语法
弱类型(无返回)
cursor 游标名 ref cursor is sql语句;
强类型(有返回)
cursor 游标名 ref cursor is sql语句 return 返回值类型;
-
游标效率问题
总的来说
批处理效率大于隐式游标大于单条语句后续有时间再做补充!!!