我写了以下触发器,欲想保持EMP_InActiveServiceEmpFile表和Bas_Dept表字段 DeptName的一致性,即当修改Bas_Dept表的DeptName字段内容时,检测表EMP_InActiveServiceEmpFile中的字段DeptName是否有相同的内容,如果有就修改之,使其保持一致性,但修改Bas_dept表的字段DeptName时就报错(注:两表只有DeptName字段内容有联系) CREATE TRIGGER UpdateDeptID ON BAS_Dept FOR update AS UPDATE EMP_InActiveServiceEmpFile SET DeptName=(SELECT DeptName FROM Bas_Dept b WHERE EMP_InActiveServiceEmpFile.DeptName=b.DeptName)
CREATE TRIGGER UpdateDeptID ON BAS_Dept FOR update AS If Update(DeptName) begin UPDATE A set A.DeptName=B.DeptName from EMP_InActiveServiceEmpFile A ,inserted B Where A.DeptName=B.DeptName End Return
----------------------------------------------
-
CREATE TRIGGER UpdateDeptID ON BAS_Dept FOR update AS If Update(DeptName) begin UPDATE A set A.DeptName=B.DeptName from EMP_InActiveServiceEmpFile A ,Deleted B Where A.DeptName=B.DeptName End Return
CREATE TRIGGER UpdateDeptID ON BAS_Dept FOR update AS Set nocount off If Update(DeptName) begin print 'Enter' select a.* from EMP_InActiveServiceEmpFile A ,Deleted B Where A.DeptName=B.DeptName /*UPDATE A set A.DeptName=B.DeptName from EMP_InActiveServiceEmpFile A ,Deleted B Where A.DeptName=B.DeptName*/ End Return
已经调试过了,还是不行,我把触发器改了,也不行 CREATE TRIGGER UpdateDeptID ON BAS_Dept --WITH ENCRYPTION --加密觸發器 FOR UPDATE AS IF UPDATE(DeptName) BEGIN UPDATE EMP_InActiveServiceEmpFile SET DeptName=B.DeptName FROM Deleted B WHERE EMP_InActiveServiceEmpFile.DeptName=B.DeptName END RETURN
----------------------------------------------
-