简介
显示游标使用的是SELECT叙述,被声明于任何一个区块的声明段落中,开发者可以控制几乎所有与游标有关的操作。
显示游标对游标的处理提供了其他类似的游标无法做到的控制。他们要使用一次会传回多余一笔记录的SELECT叙述。
虽然他们提供了比隐式游标更多的控制,但也需要额外的步骤来操作。
使用显示游标,需要进行四个步骤:
1.声明
2.开启
3.从CURSOR中取数据
4.关闭
开启:
游标会在区块的执行或者例外段落中被开启。OPEN命令,准备好游标以供使用。游标中一次只可以有一笔作用中的记录。在开启时,作用中的记录是由游标的查询所传回的第一笔。
取数据:
fetch命令只会在目前记录上操作,并且会一次处理结果集中的一笔记录。
关闭:
一定要、绝对要关闭你的显示游标哦。
忘了关闭游标就等于是有意造成程式码中的记忆体泄漏。在关闭游标前,记忆体不会被释放。
当最后的区块结束时,ORACLE确实会去检查被遗忘的游标,而且它会在最外层区块结束时,自动关闭这些游标,但是,不要依赖这个来关闭你的游标。
写一句“CLOSE cursor_name;”不是很麻烦的事情!
显示游标的基本格式示例
DECLARE column1 varchar2 (20), column2 varchar2 (10), column3 number, cursor my_cursor is select column1,column2,column3 from table_1; BEGIN open my_cursor; fetch my_cusor into column1,column2,column3; while my_cusor % found loop /*功能语句*/ end loop; close my_cursor; END; /