1.打开输出控制 set serveroutput on 2。打印 dbms_output.put_line('。'); 3。把你的存储过程贴出来,说的不明白
create procedure pr_del_aa(i in integer,j out varchar2(20)) as begin select name into j from aa where id = i; delete from aa where id = i; dbms_output.put_line('j:'||j); end pr_del_aa; 调用: declare j varchar2(20); begin pr_del_aa(1,j); end; 请指出写法错误。set serveroutput on;可否在pl/sql developer中用
set serveroutput on在pl/sql developer中不需要设置,默认就是。在SQl PLUS中才需要设置。
set serveroutput on 这个在存储过程正在运行的时候是不会print出结果的,只有在存储过程运行完毕后才会全部打出来,如果要在运行的时候看运行情况,可以写一个原子过程,在这个原子过程中插入一张log表 procedure insert_log() is aa varchar2(1000); pragma autonomous_transaction; -- 声明是原子事务,独立于调用者事务 Begin .... insert into table_aa(....) values(....); commit;--一定要commit; end sp_etl_scm_log;
set serveroutput on
2。打印
dbms_output.put_line('。');
3。把你的存储过程贴出来,说的不明白
as
begin
select name into j from aa where id = i;
delete from aa where id = i;
dbms_output.put_line('j:'||j);
end pr_del_aa;
调用:
declare
j varchar2(20);
begin
pr_del_aa(1,j);
end;
请指出写法错误。set serveroutput on;可否在pl/sql developer中用
procedure insert_log()
is
aa varchar2(1000);
pragma autonomous_transaction; -- 声明是原子事务,独立于调用者事务
Begin
....
insert into table_aa(....)
values(....);
commit;--一定要commit;
end sp_etl_scm_log;