程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL >> SQLServer EVENTDATA()函數來獲得DDL 觸發器信息

SQLServer EVENTDATA()函數來獲得DDL 觸發器信息

編輯:MSSQL

SQLServer EVENTDATA()函數來獲得DDL 觸發器信息。本站提示廣大學習愛好者:(SQLServer EVENTDATA()函數來獲得DDL 觸發器信息)文章只能為提供參考,不一定能成為您想要的結果。以下是SQLServer EVENTDATA()函數來獲得DDL 觸發器信息正文



-- Create a log table
CREATE TABLE TriggerLog (LogInfo xml)

-- Create a dummy table to delete later on
CREATE TABLE TableToDelete (Id int PRIMARY KEY)

-- 新建一個新表,作為刪除試驗表
INSERT INTO TableToDelete VALUES(1)
GO

-- 創立一個Drop Table 的 DDL
CREATE TRIGGER StopTableDrop ON DATABASE AFTER DROP_TABLE
AS
DECLARE @EventData AS xml
SET @EventData = EVENTDATA() -- 必需要在rollback之前截獲DDL信息
ROLLBACK
PRINT 'DROP TABLE attempt in database ' + DB_NAME() + '.'
INSERT INTO TriggerLog VALUES(@EventData)

履行以下刪除操作:
DROP TABLE TableToDelete
會觸發下面的DDL,從而回滾操作。
履行上面的Sql:
SELECT * FROM TriggerLog
檢查適才截獲的DDL信息。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved