sql*plus中
set serveroutput on;过程中:
dbms_output.put_line('out string');说的不清楚。

解决方案 »

  1.   

    1.打开输出控制
    set serveroutput on
    2。打印
    dbms_output.put_line('。');
    3。把你的存储过程贴出来,说的不明白
      

  2.   

    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中用
      

  3.   

    set serveroutput on在pl/sql developer中不需要设置,默认就是。在SQl PLUS中才需要设置。
      

  4.   

    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;