2015-11-06 55 views
0

有沒有人知道是否可以在多個表上創建一個觸發器。我的意思是說:如何觸發多列表上的觸發器?

假設它有3個表X,Y,Z. 我想在表A中插入一行用於對任何X,Y,Z上的任何UPDATE,INSERT或DELETE動作表。

+2

使用3個觸發器。 – lad2025

+0

通常,如果有人希望以* same *的方式使用兩個或更多表格,則表明它實際上應該是一個* single *表格,並且具有額外的列,這些列會對當前嵌入這些表格中的信息進行編碼*名*。你確定你沒有這樣的情況嗎? –

回答

0

你將不得不作出每桌每次觸發像這樣,沒有別的解決辦法:

CREATE TRIGGER trig_X_changes 
      ON X 
      FOR INSERT, UPDATE, DELETE 

    CREATE TRIGGER trig_Y_changes 
      ON Y 
      FOR INSERT, UPDATE, DELETE 
.... 
0

不能在三個不同的表創建一個觸發器,但如果你想鞏固你的代碼,你可以把你的將代碼(插入表A)觸發到存儲過程中,並在每個調用存儲過程的XY表上創建一個觸發器。

請注意,如果您存儲的proc代碼需要訪問插入或刪除的表,則需要將它們作爲參數從觸發器傳遞到存儲的proc。