如何写一个触发器,实现这个功能呢,我写的是这样的
CREATE TRIGGER update_zt
on ys_yy_d
FOR UPDATE
AS
declare @zt1 int
select @zt1=zt
from inserted
if @zt1=1
begin
insert into zyc select * from inserted
delete from ys_yy_d where exists (select * from inserted)--把表中跟新过的行删除
但是这样写的结果却是把所有的表都删除了,为什么会这样呢
insert 触发器? delete update
------解决方案--------------------
delete from ys_yy_d where exists (select * from inserted where ys_yy_d.主键=inserted.主键)
------解决方案--------------------
或者
delete from ys_yy_d where 主键 in (select 主键 from inserted)
------解决方案--------------------
没主键....那就在where中把所有的列都列出来,
------解决方案--------------------
触发器可以了,但是还是建议你添加上主键,不然后续操作比较麻烦。2008可以用merge,不过复杂,估计你看不懂