当前位置: 移动技术网 > IT编程>数据库>MSSQL > SQLServer EVENTDATA()函数来获取DDL 触发器信息

SQLServer EVENTDATA()函数来获取DDL 触发器信息

2017年12月12日  | 移动技术网IT编程  | 我要评论

大连万达影院,孙悟空jr,古惑仔3演员表

复制代码 代码如下:

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网