手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >SQLServer EVENTDATA()函数来获取DDL 触发器信息
SQLServer EVENTDATA()函数来获取DDL 触发器信息
摘要:复制代码代码如下:--CreatealogtableCREATETABLETriggerLog(LogInfoxml)--Createadu...

复制代码 代码如下:

-- 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信息。

【SQLServer EVENTDATA()函数来获取DDL 触发器信息】相关文章:

SQL Server编写函数获取汉字的拼音码

SQL Server 2012 将数据导出为脚本

SQL Server 2008 R2 超详细安装图文教程

SQL Server 2008 R2英文版安装图文教程

安装SqlServer2005时版本变更检查 (警告)

SQLServer基础语法实例应用(一)

SQL Server 2005支持的两条新语法

SQLSERVER2005 中树形数据的递归查询

Windows7下Microsoft SQL Server 2008安装图解和注意事项

SqlServer 2005的排名函数使用小结

精品推荐
分类导航