我創建了一個SQL Server觸發器,當他的一個病人改變狀態爲「殺死」時,應該爲醫生添加一個殺手。但我不知道如何獲得更新的那一行。從現在看來,醫生對於他以前曾經患過的每一位患者都會有耐心的++。SQL Server:如何更新表b,何時在表a中更新單行?
我該如何解決這個問題?
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[PatientKilled]
ON [dbo].[Patient]
AFTER UPDATE
AS
BEGIN
DECLARE
SET NOCOUNT ON;
UPDATE Doctor
SET PatientsKilled += 1
FROM Doctor d
INNER JOIN inserted p ON d.DoctorId = p.DoctorId
WHERE p.PatientState = 'Killed'
END
加入插入的表。在觸發器中,您可以訪問2個名爲插入和刪除的系統表。 –