簡體   English   中英

觸發器:如果有人插入,更新和刪除表則觸發

[英]Trigger: Trigger if someone INSERT,UPDATE and DELETE a table

我創建了一個觸發器,如果​​它們在TblCurrentRec中進行更新,刪除或插入,則將其用戶名記錄到ChangesLogtbl。

CREATE TRIGGER mytriggerforinsert
 @username = username           <------------------itried to place something like this
ON TblCurrentRec
AFTER INSERT
AS BEGIN
INSERT INTO ChangesLogtbl
     values ('username', 'GETDATE')
END
GO

這行得通,但是我希望這個可以在架構中的所有表上運行。 也不限於插入,而是刪除和更新。 我嘗試使用網絡中的所有內容,還復制並研究了不同的樣本,但無濟於事。 我是SQL的新手,這是我第一次創建觸發器。 希望你們能理解。

謝謝。

您可以使用游標和Information_Schema.Tables視圖在數據庫的所有表上創建觸發器。

為了涵蓋其他DML,

ON TblCurrentRec
AFTER INSERT or UPDATE or DELETE

進入架構級別的覆蓋范圍,我懷疑您是否可以為架構中的所有表創建一個觸發器。觸發器應寫入每個表中。

如果在DDL我們可以使用DATABASE TRIGGERS

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM