sql触发器for delete触发器问题 10
CREATETRIGGERtrigger_AONAFORINSERT,UPDATE,DELETEASIFUPDATEBEGIN...ENDGO要怎样判断是不是DELETE...
CREATE TRIGGER trigger_A
ON A
FOR INSERT,UPDATE,DELETE
AS
IF UPDATE
BEGIN
...
END
GO
要怎样判断是不是DELETE
如:
(IF DELETE
BEGIN
...
END)
这样是不行的,不知道要怎样判断,求解。 展开
ON A
FOR INSERT,UPDATE,DELETE
AS
IF UPDATE
BEGIN
...
END
GO
要怎样判断是不是DELETE
如:
(IF DELETE
BEGIN
...
END)
这样是不行的,不知道要怎样判断,求解。 展开
4个回答
展开全部
你要把delete和update分开处理,不如建两个触发器,一个for update一个for delete
追问
就是因为不想要那么多个才会这样问的啦
追答
DECLARE
@IsInsert bit,
@IsUpdate bit,
@IsDelete bit
IF EXISTS(SELECT 1 FROM inserted) AND NOT EXISTS(SELECT 1 FROM deleted)
SET @IsInsert = 1
ELSE
SET @IsInsert = 0
IF EXISTS(SELECT 1 FROM inserted) AND EXISTS(SELECT 1 FROM deleted)
SET @IsUpdate = 1
ELSE
SET @IsUpdate = 0
IF NOT EXISTS(SELECT 1 FROM inserted) AND EXISTS(SELECT 1 FROM deleted)
SET @IsDelete = 1
ELSE
SET @IsDelete = 0
希望这个对你的帮助
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是对的啊 你试一下
IF DELETE
BEGIN
里面打印一下呢
END
IF DELETE
BEGIN
里面打印一下呢
END
追问
很明显是不行的啦,要不我也不会有此一问的啦
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有delete么?⊙﹏⊙b汗
查了下 这样行
CREATE TRIGGER trigger_A
ON A
on delete
as
begin
end;
查了下 这样行
CREATE TRIGGER trigger_A
ON A
on delete
as
begin
end;
追问
就是不知道才问哦,亲
请问你有什么好办法吗?
追答
改了下 你看看是不是要的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询