CREATE TRIGGER update_trig ON [RM].[ReadRoom1] 
FOR  UPDATE
AS
  declare  @fdo   char(20)
  declare  @nfdo   char(20)
  UPDATE Querrynote1
            select @fdo=ReadRoomName from deleted 
             select @nfdo=ReadRoomName from inserted
              exec sp_rename @fdo,@nfdo
END

解决方案 »

  1.   

    刚刚发现多了个end,把end去掉了,但是还存在服务器: 消息 156,级别 15,状态 1,过程 update_trig,行 5
    在关键字 'declare' 附近有语法错误
      

  2.   

    回复人: hsj20041004(光芒) (
    declare错误没有了,但是又出现select附近有语法错误
      

  3.   

    从deleted和inserted表中取出来的肯定是多条记录,这里却没有一个对应关系,所以如下:
    UPDATE Querrynote1
                set 字段1=(select @fdo=ReadRoomName from deleted where ...) where ...
                set 字段2=(select @nfdo=ReadRoomName from inserted where ...) where ...
                  exec sp_rename @fdo,@nfdo
      

  4.   

    那怎么才能实现select语句从deleted表和inseted表中选择最新的那条ReadRoomName记录呀