在數(shù)據(jù)清洗時(shí)為了方便查看當(dāng)前運(yùn)行的狀態(tài),特意在存儲(chǔ)過(guò)程里面添加了一些日志。通過(guò)查看日志可以方便的看到當(dāng)前運(yùn)行到哪里,但是這輸出的日志不能跟過(guò)程使用相當(dāng)?shù)氖挛铮床还芮逑催^(guò)程是成功還是失敗,日志必須得成功寫到數(shù)據(jù)庫(kù)里面)。Oracle的獨(dú)立事物就能幫助我們解決這個(gè)問(wèn)題。
下面是方法模型:
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;
只需要在過(guò)程內(nèi)容調(diào)整該過(guò)程即可!問(wèn)題立馬解決!
更多信息請(qǐng)查看IT技術(shù)專欄