我想捕獲刪除行的用戶名,當執行刪除操作時,存儲過程刪除表中的一行。我們向存儲過程提供所有必需的參數,並提供正在刪除數據的前端的用戶名。關於SQL Server刪除觸發器
基本上我想捕獲從刪除觸發器存儲過程中刪除的用戶名。但這是不可能的。我們可以做一件事,在刪除記錄之前,我們可以將用戶的名字放入臨時表中,並從觸發器中獲取該名字。但是有一個問題,一次有兩個用戶可以刪除兩個不同的行。那麼最好的解決方案是什麼?我不想使用任何影子表。請討論。謝謝
我想捕獲刪除行的用戶名,當執行刪除操作時,存儲過程刪除表中的一行。我們向存儲過程提供所有必需的參數,並提供正在刪除數據的前端的用戶名。關於SQL Server刪除觸發器
基本上我想捕獲從刪除觸發器存儲過程中刪除的用戶名。但這是不可能的。我們可以做一件事,在刪除記錄之前,我們可以將用戶的名字放入臨時表中,並從觸發器中獲取該名字。但是有一個問題,一次有兩個用戶可以刪除兩個不同的行。那麼最好的解決方案是什麼?我不想使用任何影子表。請討論。謝謝
你基本上是問如何將參數傳遞給觸發器?
您可以在程序中使用set CONTEXT_INFO
並在觸發器中讀取它。
DECLARE @name VARBINARY(128)
SET @name = CAST('Martin' AS VARBINARY(128));
SET CONTEXT_INFO @name /*Set it*/
SELECT CAST(CONTEXT_INFO() AS VARCHAR(128)) /*Read it*/
SET CONTEXT_INFO 0x /*Reset it*/
如果你已經有了一個存儲過程,爲什麼還要使用觸發器?讓存儲過程日誌刪除該行。
更多信息。謝謝 – Thomas 2011-04-23 10:06:33