|
|
昨天在写存储过程的时候发现了一个以前忽视了的地方,不知道对大家有没有用。 创建显性游标: create or replace procedure test is cursor test1 is select name from devp; test2 devp.name%type; begin open test1; loop fetch test1 into test2; dbms_output.put_line(test2); --注意,此处用的是test2变量 exit when test1%notfound; end loop; close test1; end; / create or replace procedure test is cursor test1 is select name from devp; test2 test1%rowtype; begin open test1; loop fetch test1 into test2; dbms_output.put_line(test2.name); --注意,此处用的是test2.name exit when test1%notfound; end loop; close test1; end; / 下面用隐性游标试一下: create or replace procedure test is cursor test1 is select name from devp; test2 devp.name%type; begin for test2 in test1 loop dbms_output.put_line(test2.name); --注意,此处用的是test2.name end loop; end; / create or replace procedure test is cursor test1 is select name from devp; test2 test1%rowtype; begin for test2 in test1 loop dbms_output.put_line(test2.name); --注意,此处用的是test2.name end loop; end; / 由于使用的游标的不同,我们最终在使用变量的时候还是有一些小区别的。希望大家以后在调代码的时候少走弯路。
|
|