declare @id varchar(10)---类型你自己改吧
declare @name varchar(10)
declare @flag int
declare @oid varchar(10)
declare @oname varchar(10)
declare @oflag int
--我只是写个大概,具体的你自己修改吧
--若是多条记录还的加游标
select @id =id ,@name = name ,@flag = flag
from inserted
select @oid = id ,@oname = name ,@oflag= flag
from deletedif update(id)
begin
update 表2 set id =@id where id = @oid
update 表3 set id =@id where id = @oid
update 表4 set id =@id where id = @oid
end
if update(name)
begin
update 表2 set name =@name where name = @oname
update 表3 set name =@name where name = @oname
update 表4 set name =@name where name = @oname
end
if @flag=1 and @oflag=0
begin
delete 表2 where id =@oid
delete 表3 where id =@oid
delete 表4 where id =@oid
end
declare @name varchar(10)
declare @flag int
declare @oid varchar(10)
declare @oname varchar(10)
declare @oflag int
--我只是写个大概,具体的你自己修改吧
--若是多条记录还的加游标
select @id =id ,@name = name ,@flag = flag
from inserted
select @oid = id ,@oname = name ,@oflag= flag
from deletedif update(id)
begin
update 表2 set id =@id where id = @oid
update 表3 set id =@id where id = @oid
update 表4 set id =@id where id = @oid
end
if update(name)
begin
update 表2 set name =@name where name = @oname
update 表3 set name =@name where name = @oname
update 表4 set name =@name where name = @oname
end
if @flag=1 and @oflag=0
begin
delete 表2 where id =@oid
delete 表3 where id =@oid
delete 表4 where id =@oid
end
for Update
as
begin
if Update(id)
begin
update a set a.ID=c.ID
from 表2 as a inner join deleted as b
on a.id=b.id inner join inserted as c
on a.id=c.id
...............
end
if Update(name)
.........
.........
end
for Update
as
begin
if Update(id)
begin
update a set a.ID=c.ID
from 表2 as a inner join deleted as b
on a.id=b.id inner join inserted as c
on a.id=c.id
update a set a.ID=c.ID
from 表3 as a inner join deleted as b
on a.id=b.id inner join inserted as c
on a.id=c.id
update a set a.ID=c.ID
from 表4 as a inner join deleted as b
on a.id=b.id inner join inserted as c
on a.id=c.id
end
if Update(name)
.........
.........
end
当“表2”,“表3”,“表4”中对应的行为多行的时候应该怎么去处理
from 表2 as a inner join deleted as b
on a.id=b.id inner join inserted as c
on a.id=c.id这是不是有问题啊?
deleted里的id和inserted里的id不一样的吧?