首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

这个触发器是否正确(立即结贴),该怎么解决

2012-03-17 
这个触发器是否正确(立即结贴)表members有一个字段email表accounts有一个字段userEmail现在我想在表accoun

这个触发器是否正确(立即结贴)
表members有一个字段email
表accounts有一个字段userEmail
现在我想在表accounts中建立一个触发器,当表accounts里的email发生改变时,表members同步更新,下面的触发器代码不知是否正确?

CREATE   TRIGGER   tr_emailChange   ON   accounts   for   update  
AS
    UPDATE   members   SET   members.email=inserted.userEmail   FROM   inserted   WHERE   inserted.userName=members.userName

[解决办法]
只要没语法问题就没问题

[解决办法]
CREATE TRIGGER tr_emailChange ON accounts
AFTER update
AS
DECLARE @userName nvarchar(100)
DECLARE @userEmail nvarchar(100)
IF @@ROWCOUNT > 0
BEGIN
SELECT @userName=userName,@userEmail=userEmail FROM Inserted

UPDATE members SET email = @email where userEmail = @userEmail

END
[解决办法]
对,可以多加if update(email)

CREATE TRIGGER tr_emailChange ON accounts for update
AS
if update(email)
UPDATE members SET members.email=inserted.userEmail FROM inserted WHERE inserted.userName=members.userName
[解决办法]
LZ 的看起来没问题

热点排行