CREATE TRIGGER tr1 ON sc FOR INSERT,UPDATE,DELETE AFTER INSERT,UPDATE 这个sql语句为什么老提示:
3个回答
展开全部
CREATE TRIGGER tr1
AFTER INSERT,UPDATE
ON sc FOR INSERT,UPDATE,DELETE
你这样试一下看看有没有错误
AFTER INSERT,UPDATE
ON sc FOR INSERT,UPDATE,DELETE
你这样试一下看看有没有错误
追问
还是有错误,我把FOR INSERT,UPDATE,DELETE注释起来就不出错了,是不是FOR和AFTER不能同时用??
追答
我刚才没太仔细看,就看了下语法,FOR和after/before是可以一起用的,但是你这个语句的意思应该是这个触发器在进行了插入更改删除后触发的,应该这样写
CREATE TRIGGER tr1
AFTER INSERT,UPDATE,DELETE
ON sc FOR EACH ROW
像你说的,注释起来也没有问题,但是少了for each row的话,就是本触发器针对该表执行一次,加了 for each row 是针对表中的每一行进行触发执行,根据需求来决定吧。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在SQL2000中没有after ,它的for 和 after 一样
create trigger tr1
on sc
for insert ,update,delete
as begin
declare @newsno=sno
select @newsno=sno from inserted
update sno
set .......where sno=@newsno
end
go
create trigger tr1
on sc
for insert ,update,delete
as begin
declare @newsno=sno
select @newsno=sno from inserted
update sno
set .......where sno=@newsno
end
go
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询