要求很简单,就是用oracle代码打印所有表的名称。
那段SQL代码我测试过,没问题,但最后显示的是 14 rows selected.
我想要最后是pl sql procedure successfully completed. 这个效果。
请问应该怎么改。set pagesize 20
set serveroutput on
declare
cursor c_name is
select table_name
from user_tables;
cname user_tables.name%type;
begin
open c_name;
loop
fetch c_name into cname;
exit when c_name%notfound;
dbms_output.put_line(cname);
end loop;
close c_name;
end;
/
那段SQL代码我测试过,没问题,但最后显示的是 14 rows selected.
我想要最后是pl sql procedure successfully completed. 这个效果。
请问应该怎么改。set pagesize 20
set serveroutput on
declare
cursor c_name is
select table_name
from user_tables;
cname user_tables.name%type;
begin
open c_name;
loop
fetch c_name into cname;
exit when c_name%notfound;
dbms_output.put_line(cname);
end loop;
close c_name;
end;
/
set serveroutput on
declare
cursor c_name is
select table_name
from user_tables;
cname c_name%rowtype;
begin
open c_name;
loop
fetch c_name into cname;
exit when c_name%notfound;
dbms_output.put_line(cname.table_name);
end loop;
close c_name;
end;
/
set serveroutput on
declare
cursor c_name is
select table_name
from user_tables;
cname c_name%ROWTYPE;
begin
open c_name;
loop
fetch c_name into cname;
exit when c_name%notfound;
dbms_output.put_line(cname);
end loop;
close c_name;
end;
/
set pagesize 20
set serveroutput on
declare
cursor c_name is
select table_name
from user_tables;
cname user_tables.table_name%type;
begin
open c_name;
loop
fetch c_name into cname;
exit when c_name%notfound;
dbms_output.put_line(cname);
end loop;
close c_name;
end;
/应该是这个
二 输出时,应该放在循环体内
这是正确的sql语句,楼主参考下
declare
cursor c_name is
select table_name
from user_tables;
cname user_tables.TABLE_NAME%type;
begin
open c_name;
loop
fetch c_name into cname;
dbms_output.put_line(cname);
exit when c_name%notfound;
end loop;
close c_name;
end;
cursor c_name is
select table_name
from user_tables;
cname user_tables.TABLE_NAME%type;
--此处可以使用cname user_tables.table_name%type
--也可以使用 cname c_name%rowtype,不过上下要一致;
begin
open c_name;
loop
fetch c_name into cname;
dbms_output.put_line(cname);
--如果前面使用的是%rowtype,则须写dbms_output.put_line(cname.table_name);
--否则写dbms_output.put_line(cname);
exit when c_name%notfound;
end loop;
close c_name;
end;