--创建触发器
CREATE TRIGGER DepartmentsUpdate ON dbo.Departments
FOR UPDATE
AS
BEGIN
IF(COLUMNS_UPDATED()&01)>0---这句看不懂
UPDATE dbo.Employees
SET DepartmentID = (SELECT ins.DepartmentID FROM inserted ins)
WHERE DepartmentID = (SELECT DepartmentID FROM deleted)
END
判断第一列是否被更新
楼主能不能明白这段先
-----------------首先要知道表的列名,不知道的情况下,只能用SUBSTRING(COLUMNS_UPDATED(),1,1)取前8列,不能用COLUMNS_UPDATED()直接取..
第9列开始:
SUBSTRING(COLUMNS_UPDATED(),2,1)--第二个8列
..以此类推SUBSTRING(COLUMNS_UPDATED(),1,1)=power(2,(3-1))--第3列SUBSTRING(COLUMNS_UPDATED(),2,1)=power(2,(3-1))--第11列
打错,COLUMNS_UPDATED()只能不超过8列时才能直接用--