我创建了一个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个名为插入和删除的系统表。 –