變異表

變異表在資料庫中是當前被DML語句修改的表,而對於資料庫上的trigger(觸發器)來說,變異表就是trigger在其上定義的表。

在資料庫中,變異表是當前被DML語句修改的表。
而對於資料庫上的trigger(觸發器)來說,變異表就是trigger在其上定義的表。
需要明確的是trigger中SQL語句不能進行如下操作:
1)讀或者修改觸發語句的任何變異表,包括觸發表本身。
2)讀或者修改觸發表的約束表中的主關鍵字,唯一關鍵字和外部關鍵字。
而除此之外的其他列都可以修改。
如何突破變異表?
方法一是用兩個觸發器,一個行級的,一個語句級的(速度快,推薦!)
方法二是用dbms_job.run包(但運行的時間過長,2秒左右)
方法三是可以使用AutoCommit方法解決(但破壞了事務的一致性,多數情況下是錯誤的)。

相關詞條

熱門詞條

聯絡我們