--这种贴子还是很多的.create table tb(sid int ,pid int,value money)--pid父结点
--1.第一种方法采用触发器递归来实现,此咱方法最多更新父32个父结点,如超过此数就会失败
create trigger ti_tb on tb
for update
as
if update(value) --
begin
update b set value=a.value from inserted a,tb b where a.pid=b.sid
end
return
go
--2.用存储过程来实现
create procedure p_1(@sid int)
as
set @sid=(select pid from tb where sid=@sid)
update tb set value= from tb where sid=@pid
while @@rowcount>0
begin
set @pid=(select pid from tb where sid=@pid)
update tb set value= from tb where sid=@pid
end