更新行ID我有一個表Employee
如何獲得SQL Server中觸發
Emp_Id Name
1 XYZ
2 ABC
和另一個表DivisionInfo
DivisionID Division Emp_Id
1 mmm 1
2 nnnn 1
3 oooo 1
我需要寫一個觸發器回滾Employee
表的更新,如果Emp_Id
存在於DivisionInfo
表中。在這種情況下Emp_Id = 1
。
如何獲取SQL觸發器中正在更新的行的行ID?
這是我的觸發代碼:
ALTER TRIGGER [dbo].[EmployeeTrigger]
ON [dbo].[Employee]
FOR UPDATE
AS
IF((SELECT COUNT([DivisionID ])
FROM [DivisionInfo] AS D
INNER JOIN Employee AS E ON D.[Emp_Id] = E.Emp_Id
WHERE D.[Emp_Id] = E.Emp_Id) > 0)
BEGIN
RAISERROR ('Testing', 10, 1);
ROLLBACK TRANSACTION
RETURN
END
這總是真的
我也覺得很奇怪,如果要更新的員工的名字,你如果他被分配到一個部門,他不能這樣做。 – HLGEM 2015-01-06 15:57:46