在存储过程中插入数据并判断插入是否成功,成功则返回大于一,不成功也返回0,想请教大家这个代码怎么写?

解决方案 »

  1.   

    成功直接返回1
    失败在exception里做,出现错误捕获错误,rollback后,返回错误值0
      

  2.   

    create table test1 as select * from dual where 1=0;
    /
    CREATE OR REPLACE PROCEDURE pro_test (RESULT in OUT INT)
    IS
    BEGIN
       INSERT INTO test1
            VALUES (RESULT);
       COMMIT;
       RESULT := 1;
    EXCEPTION
       WHEN OTHERS
       THEN
          ROLLBACK;
          RESULT := 0;
    END;
    /
    set serverout on
    declare 
    x number;
    begin
    x:=10;--设为1操作成功,返回1. 设为10操作失败,返回0
    pro_test(x);
    dbms_output.put_line(x);
    end;
    /
      

  3.   

    简单,查下oracle的存储过程就知道了