CREATE OR REPLACE procedure proc_trade( v_tradeid in tt_b.number%TYPE, --交易id v_third_ip in tt_b.varchar2%TYPE, --第三方ip v_third_time in tt_b.date%TYPE , --第三方完成時間 v_thire_state in tt_b.number%TYPE , --第三方狀態 o_result out tt_b.number%TYPE, --返回值 o_detail out tt_b.varchar2%TYPE --詳細描述 ) as --變量賦值 o_result:=0; o_detail:='驗證失敗'; --業務邏輯處理 if v_tradeid >100 then insert into table_name(...) values(...); commit; elsif v_tradeid < 100 and v_tradeid>50 then insert into table_name(...) values(...); commit; else goto log; end if; --跳轉標志符,名稱自己指定 <<log>> o_result:=1; --捕獲異常 exception when no_data_found then result := 2; when dup_val_on_index then result := 3; when others then result := -1; end proc_trade;