SQL SERVER中UPDATE触发器的问题,求教!急

来源:百度知道 编辑:UC知道 时间:2024/05/09 03:36:53
员工月工资表(工号,月份,基本工资,津贴,罚款,养老保险,实发工资,邻取记录) 主键:工号,月份
员工基本信息表(工号,姓名,部门,职称,工龄,银行帐户,电子邮箱,联系电话) 主键:工号
员工基本工资表 (工号,月份,工资等级,基本工资) 主键:工号,月份
员工津贴表(工号,月份,加班天数,加班类别,加班时间,津贴) 主键:工号,月份
员工罚款表(工号,月份,缺勤天数,其他,罚款)主键:工号,月份,

现在我要在基本信息表中建一个触发器,使工号更改时其他一起更改,
USE mydb
GO
CREATE TRIGGER 修改工号
ON 员工基本信息表
FOR UPDATE
AS
IF UPDATE(工号)
BEGIN
UPDATE 员工月工资表
SET BR.工号=I.工号
FROM 员工月工资表 BR , DELETED D ,INSERTED I
WHERE BR.工号=D.工号
UPDATE 员工基本工资表
SET BR.工号=I.工号
FROM 员工基本工资表 BR , DELETED D ,INSERTED I
WHERE BR.工号=D.工号
UPDATE 员工津贴表
SET BR.工号=I.工号
FROM 员工津贴表 BR , DELETED D ,INSERTED I
WHERE BR.工号=D.工号
UPDATE 员工罚款表
SET BR.工号=I.工号
FROM 员工罚款表 BR , DELETED D ,INSERTED I
WHERE BR.工号=D.工号
END
上面是我的代码,但是查询分析器老是报错,
服务器: 消息 1032,级别 15,状态 1,过程 修改工号,行 8
无法使用列前缀 'BR'

同志,你好!
如果你单纯的需要对工号进行同步更新,为什么要用触发器呢?
你应该对非员工基本信息表的工号全部设置外键呀,外键依赖于您员工基本信息表的工号,这样,你在每个外键约束里都勾选级联更新就行了。