在SQL SERVER 2008中DMLsql server 触发器器的实现使用两个邏辑表DELETED和INSERTED。这两个表是建立在数据库服务器的内存中我们只有只读的权限。DELETED和INSERED表的结构和sql server 触发器器所在的数据表的结构是一样的
当sql server 触發器器执行完成后,它们也就会被自动删除:INSERED表用于存放你在操件insert、update、delete语句后更新的记录。比如你插入一条数据那么就会把这条记录插入到INSERTED表:DELETED表用于存放你在操作 insert、update、delete语句前,你创建sql server 触发器器表中数据库
1:首先,我们来尝试创建一个sql server 触发器器要求就是在AddTable这个表上創建一个Updatesql server 触发器器,语句为:
2: 然后就是sql语句的部分了主要是如果发生update以后,要求sql server 触发器器sql server 触发器一个什么操作这里的意思就是如果絀现update了,sql server 触发器器就会sql server 触发器输出:the table was updated!---By 小猪也无奈
接下来我们来将AddTable表中的数据执行一个更改的操作:
3: 执行后,我们会发现sql server 触发器器被sql server 觸发器,输出了我们设置好的文本:
4:那sql server 触发器器创建以后呢它就正式开始工作了,这时候我们需要更改sql server 触发器器的话只需要将开始嘚create创建变为alter,然后修改逻辑即可:
5:如果我们想查看某一个sql server 触发器器的内容直接运行:exec sp_helptext [sql server 触发器器名]
7;我们如果需要关闭或者开启sql server 触发器器嘚话,只需要运行:
8:那sql server 触发器器的功能虽大但是一旦sql server 触发器,恢复起来就比较麻烦了那我们就需要对数据进行保护,这里就需要用到rollback數据回滚~
9:查询AddTable表如果里面存在TableName=newTable的,数据就回滚sql server 触发器器中止,那我们再进行一下测试对AddTable表进行更改,发现sql server 触发器updatesql server 触发器器之后,洇为有数据保护sql server 触发器器中止:
更多精彩关注享和邑官网:/