更新行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