0
我有一個組織數據庫,其中每個員工都有一個外鍵給它的老闆(FID)。SQL觸發器遞歸更新
表聲明:
Create Table Emp(
ID integer,
FID integer,
SALARY integer,
Primary key (ID),
foreign key (FID) references EMP
);
以下SQL觸發器應老闆下更新的員工。然後遞歸更新他們的孩子。但它只更新一個級別。
CREATE TRIGGER SAL_TRIG ON EMP After UPDATE
as
declare @SALARY int
declare @OLDSAL int
declare @ID int
--use the 'inserted' keyword to access the values inserted into the invoice table
select @OLDSAL = Salary from deleted
select @SALARY = Salary from inserted
select @ID = ID from inserted
BEGIN
UPDATE EMP
SET SALARY = salary + @SALARY - @OLDSAL
WHERE FID = @ID
END
我想知道如何解決這個問題。 謝謝。