iT邦幫忙

0

如何在一個oracle procedure裏設兩個transaction?

  • 分享至 

  • xImage

我想追踪procedure執行情況,所以每個執行命令會寫到另一個table以防出錯時可以查看,但發生錯誤時執行rollback就什麼都沒了

wjs5129 iT邦新手 5 級 ‧ 2023-10-29 08:38:47 檢舉
https://tomkuo139.blogspot.com/2009/11/oracle-plsql-pragma-autonomoustransacti.html?m=1
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
尼克
iT邦大師 1 級 ‧ 2023-10-28 12:53:52
......
......
EXCEPTION
   WHEN OTHERS
   THEN
         ROLLBACK;
   INSERT INTO (xxxx)
   VALUES();
END;   
看更多先前的回應...收起先前的回應...
wjs5129 iT邦新手 5 級 ‧ 2023-10-28 15:56:07 檢舉

謝謝您
這個我知道,但這只能紀錄下最後一個失敗的原因,而我要的是紀錄下procedure每條指令,直到rollback前每一條指令都要紀錄.
直到現在我想到的是先紀錄在陣列中然後在rollback後再寫入table

尼克 iT邦大師 1 級 ‧ 2023-10-28 16:57:02 檢舉

那你可以用toad看看

尼克 iT邦大師 1 級 ‧ 2023-10-28 16:58:54 檢舉

另外,你可以寫在temp table,在這一個session中都可以看到資料

wjs5129 iT邦新手 5 級 ‧ 2023-10-28 19:09:47 檢舉

感恩

wjs5129 iT邦新手 5 級 ‧ 2023-10-29 08:39:25 檢舉

我要發表回答

立即登入回答