sql 2000创建触发器
下面代码有问题,通不过语法检查,语法忘了
在插入或更新时触发不能这么写?after insert or update?CREATE trigger timer_gatherid
on tb_Content
after insert or update
as记得好像有这么个说法,update也是先delete再insert,不知道对不对另外如何获得判断哪是insert 的数据,哪是update的数据?
下面代码有问题,通不过语法检查,语法忘了
在插入或更新时触发不能这么写?after insert or update?CREATE trigger timer_gatherid
on tb_Content
after insert or update
as记得好像有这么个说法,update也是先delete再insert,不知道对不对另外如何获得判断哪是insert 的数据,哪是update的数据?
--update就是delete加insert
CREATE trigger timer_gatherid
on tb_Content
after insert,update
as
begin
select * from deleted--删掉的旧值
select * from inserted--增加的新值
end
on tb_Content
after insert ,update---也可以用 for insert,update
as
on tb_Content
after insert ,update
as
触发器中两个专用表inserted,deleted
如果是更新,inserted表中保存的是更新后的数据,deleted表中保存的是旧的数据
如果是插入,插入的数据保存在inserted表中,deleted无数据
如果是删除则相反,inserted表中无数据,删除的记录保存睚deleted中
保持队形
on tb_Content
after insert,update
as记得好像有这么个说法,update也是先delete再insert,不知道对不对不对另外如何获得判断哪是insert 的数据,哪是update的数据?
if not exists ( select 1 from deleted) and exists ( select 1 from inserted) -- insert操作
begin
...
endif exists ( select 1 from deleted) and exists ( select 1 from inserted) -- update操作
begin
...
end