只有在删除(DELETE)时才触发此触发器

/******对象:Trigger[dbo].[delete]脚本日期:01/22/201411:11:34******/SETANSI_NULLSONGOSETQUOT... /****** 对象: Trigger [dbo].[delete] 脚本日期: 01/22/2014 11:11:34 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[delete]
ON [dbo].[ep01]
FOR DELETE
AS
BEGIN
DECLARE @Mworkno char (8),@Mworknam char (10)
select @Mworkno=deleted.workno from deleted

select @Mworknam=deleted.worknam from deleted
IF NOT EXISTS(SELECT 1 FROM inserted) AND EXISTS(SELECT 1 FROM deleted)

Begin
UPDATE Bed_num set workno='',worknam='' where Bed_num.workno=@Mworkno
end;
IF NOT EXISTS(SELECT 1 FROM inserted) AND EXISTS(SELECT 1 FROM deleted)
Begin
UPDATE cup_num set workno='',worknam='' where cup_num.workno=@Mworkno
end;
end;
以上在记录更新(UPDATE)时,也会触发此触发器,我想只有在删除(DELETE)时才触发此触发器。
展开
 我来答
szm341
2014-01-22 · TA获得超过6726个赞
知道大有可为答主
回答量:5005
采纳率:100%
帮助的人:5178万
展开全部
怎么可能,FOR DELETE 这都标明是delete触发器了,不会在update时触发的,你是不是另写过update触发器或者其他表的触发器关联了这个表
追问
嗯,对,DB01另有一个触发器(是UPDATE,INSER),不是针对BED_NUM和CUP_num这二个表的。
追答
那我建议你测试一下,修改delete触发器,里面加一句print 100
然后用update语句执行,看是否有100这句打印出来
百度网友1fdeaff
2014-01-22 · TA获得超过263个赞
知道小有建树答主
回答量:507
采纳率:0%
帮助的人:424万
展开全部
触发器本来就是在指定的事件下才触发的,你是不是写得有问题,先写个简单的再把逻辑复杂化吧,不要一次性想把事情做完
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式