触发器数据遗漏 急

mms89757 2010-10-28 09:45:28



CREATE trigger MsgUpdate_Trig
on dbo.MSG_Inbox
for update
as
begin
INSERT dbo.UT_Msg(Sender,MsgType,MsgTitle,MMSUrl,MMSContentLocation,MsgArrivedTime,MMSDownloadedTime,MMSDownloadedState,CommPort)
SELECT Sender,MsgType,MsgTitle,MMSUrl,MMSContentLocation,MsgArrivedTime,MMSDownloadedTime,MMSDownloadedState,CommPort FROM inserted
where MMSDownloadedTime is not null and MMSDownloadedState=100
end

平时都没有见过数据遗漏的情况,但是昨天发现有数据更新了
但却没有插入到表UT_Msg中
怎么回事呀?
什么情况下才会出现触发器触发遗漏?
...全文
41 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
mms89757 2010-10-28
[Quote=引用 4 楼 dawugui 的回复:]
INSERT dbo.UT_Msg(Sender,MsgType,MsgTitle,MMSUrl,MMSContentLocation,MsgArrivedTime,MMSDownloadedTime,MMSDownloadedState,CommPort)
SELECT Sender,MsgType,MsgTitle,MMSUrl,MMSContentLocation,MsgArrivedT……
[/Quote]
这个已经测试过很多次很久了。测试的时候有过一次数据很多很多,那次也有过一次漏掉了两条数据的
昨天看到遗漏的时候并不是很多数据,只是在出现遗漏之前的一个小时前是有很多很多数据一起涌进的
回复
mms89757 2010-10-28
[Quote=引用 1 楼 sqlcenter 的回复:]
1、
where MMSDownloadedTime is not null and MMSDownloadedState=100
2、
可能是禁止了触发器,手工插入。
3、
大容量,同2
[/Quote]

怎么会禁止了触发器呢?
平时测试好多次都没有出现这样的情况
昨天却是看着有数据的,竟然没有插入到数据表UT_Msg中。很是不解

回复
dawugui 2010-10-28
INSERT dbo.UT_Msg(Sender,MsgType,MsgTitle,MMSUrl,MMSContentLocation,MsgArrivedTime,MMSDownloadedTime,MMSDownloadedState,CommPort)
SELECT Sender,MsgType,MsgTitle,MMSUrl,MMSContentLocation,MsgArrivedTime,MMSDownloadedTime,MMSDownloadedState,CommPort FROM inserted
where MMSDownloadedTime is not null and MMSDownloadedState=100

单从语句上没有看出有什么错误。

你再次试试看看是否仍然有数据遗漏?
回复
rucypli 2010-10-28
你确定你的select语句有数据出来吗
回复
王向飞 2010-10-28
where MMSDownloadedTime is not null and MMSDownloadedState=100
回复
SQLCenter 2010-10-28
1、
where MMSDownloadedTime is not null and MMSDownloadedState=100
2、
可能是禁止了触发器,手工插入。
3、
大容量,同2
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2010-10-28 09:45
社区公告
暂无公告