update = delete & insert? 20newboy4231]

发布时间:2017-1-25 3:23:53 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"update = delete & insert? 20newboy4231]",主要涉及到update = delete & insert? 20newboy4231]方面的内容,对于update = delete & insert? 20newboy4231]感兴趣的同学可以参考一下。

MSSQL的行更新分覆盖更新和非覆盖更新,《sql server 2005技术内幕:存储引擎》中说当表上有更新触发器或表被标志为复制时,日志中的update将被一条删除和一条插入记录取代,在MSSQL2000中确实是如此,但是在05中怎么也实现不了,是不是05没有这个特性?哪位大侠能为小弟解答一下!谢谢

自己顶一下先

一样的

create table tb(id int,name varchar(20)) insert into tb select 1,'a' insert into tb select 2,'b' create trigger tr_tb  on tb for update as begin select * from deleted select * from inserted end update tb set name='c' where id=1 id name--删除的记录 1 a id name--插入的记录 1 c

明白了吧

不好意思,我不是那个意思 是日志中的记录 如果没有TRIGGER UPDATE一条记录 日志中回出现一个"MODIFY" 有的话应该变成一条"DELETE"+一条"INSERT"在日志中 不是deleted和inserted表中内容

那就不懂了,等楼下讲

中说当表上有更新触发器或表被标志为复制时,日志中的update将被一条删除和一条插入记录取代,在MSSQL2000中确实是如此,但是在05中怎么也实现不了,是不是05没有这个特性? --------------------------------------------------- 你要实现什么?这是在说数据库引擎内部在不同情况下如何处理更新记录的。

需要利用这个特性来分析数据库日志。 就是不能确定05有没有这个特性。微软那本书说有的,6.5、7.0和2K里面确实有,但是同样的操作在05上却没有同样的日志,就想问问高手看有谁了解它的引擎,是不是05真的有这个特性

MSSQL的UPDATE日志中是没有完整的行记录的,只有把它变成DELETE和INSERT才有完整的行记录。

上一篇:数据库中的char与varchar 130qtnh2008]
下一篇:with as 是不是只有在 2005中才可以用 20smilepgl]

相关文章

相关评论