INSTEAD OF 触发器 问题

cheneyfeng3 cheneyfeng3 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我现在想做个日志表的功能。当用户修改一张表的时候,做一个记录到日志表中。但是不是全部更新都需要插入到日志表中。所以我在基表做了个标示,我通过判断这个标示来插入日志表。
现在的问题是,我触发器判断也已经正确,但是更新语句不能起作用。
google了下,说是因为 INSTEAD OF 触发器,是在语句执行前调用,执行了它就不执行我们要执行的语句了。
我用after触发器,但是我的表中存在text字段,不让我用。
我的数据库是sql server2005

触发器语句是这样。
ALTER Trigger [dbo].[SICRF_INFO_LOG]
On [dbo].[SI_CRF_INFO]
INSTEAD OF Update
As

begin
declare @flag int
declare @time datetime
declare @sicrfid int
set @time= getdate()
select @flag=ISBACKUP,@sicrfid=SI_CRF_ID from Inserted i where i.SI_CRF_ID=SI_CRF_ID
if @flag = 1
begin
insert into SI_CRF_INFO_LOG (SI_CRF_ID,ISBACKUP,MODIFICATION_REASONS,TRANS_OUT_TYPE,UPDATE_DATE)
select d.*,@time as UPDATE_DATE
from deleted d where d.SI_CRF_ID=SI_CRF_ID
end
end
字段很长我截断了一些。
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
cheneyfeng3
疑难问题 22,298 成员 121,727 内容