關(guān)于Oracle的獨(dú)立事物使用方法

字號(hào):


    在數(shù)據(jù)清洗時(shí)為了方便查看當(dāng)前運(yùn)行的狀態(tài),特意在存儲(chǔ)過程里面添加了一些日志。通過查看日志可以方便的看到當(dāng)前運(yùn)行到哪里,但是這輸出的日志不能跟過程使用相當(dāng)?shù)氖挛铮床还芮逑催^程是成功還是失敗,日志必須得成功寫到數(shù)據(jù)庫(kù)里面)。Oracle的獨(dú)立事物就能幫助我們解決這個(gè)問題。
    下面是方法模型:
    procedure AddError(i_runid number, --運(yùn)行號(hào)碼
    i_append varchar2, --附加信息
    i_type number default 10 --錯(cuò)誤等級(jí)0-9錯(cuò)誤,10-99警告
    ) is
    pragma autonomous_transaction;
    begin
    insert into dw_log_error
    (log_id, log_runid, log_type, log_append)
    values
    (seq_dw_log_errorid.nextval,
    i_runid,
    i_type,
    substr(i_append, 1, 2000));
    commit;
    end;
    只需要在過程內(nèi)容調(diào)整該過程即可!問題立馬解決!