昨天在写存储过程的时候发现了一个以前忽视了的地方,不知道对大家有没有用。
创建显性游标:
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;
/
由于使用的游标的不同,我们最终在使用变量的时候还是有一些小区别的。希望大家以后在调代码的时候少走弯路。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器