我的朋友問我這個問題,我無法解決它。解決oracle中由並行觸發造成的死鎖
考慮一個場景,我在table1
上有兩個觸發器。 兩者都是BEFORE INSERT觸發器。 這兩個觸發器都嘗試更新table2
的row 1
。 INSERT查詢在table1
上運行時,兩個觸發器都嘗試更新同一行table2
,並導致死鎖。 這是一個簡化的問題。 在實際情況下,大約有50個觸發器和其他一些原因,因爲我們無法在任何觸發器中使用COMMIT。
現在請幫我解決上述問題。
- 有什麼我可以按順序的觸發器。
- 是否有可能以任何方式利用保存點來解決此問題。
- 或者我需要創建一個臨時表的任何方式,並用它做一些事情。
請說明是否有解決方案是可行的。