2016-11-27 74 views
0

我有一個很長的過程,我想要保存狀態。這是從停止時開始,如果數據庫中發生了某些事情。 我如何在Oracle中實現它?從停止時的啓動過程

+0

將狀態保存在數據庫表中? –

+0

但我想程序在代碼中的某處開始,就像一個起點。它是否可行? –

+1

沒有內置任何東西可以做到這一點,你需要設計自己的解決方案。 –

回答

1

我解決了這個問題。感謝評論,我意識到在程序中放置一些入門點不是可行的。

我已經創建了一個輔助表ProcState我保存了過程的狀態。 當我啓動該過程時,通過我沒有插入的寄存器中的查詢I循環ProcState

當過程運行時,我插入並提交驗證,如果DBMS中斷,我不想檢查againg。

最後,當程序結束時,我刪除ProcState中的所有寄存器,以便下次從0開始。

希望它有助於某人。

1

你可以用你自己的解決方案來做到這一點。

我建議你用這個解決方案:

if case前每dml statements,並檢查它沒關係與否。

我的意思是你可以把1末尾的每個dml statements並在你運行該塊之前檢查它。這是我知道的很長的路,但它解決了你的問題。