日期:2014-05-18  浏览次数:20596 次

为什么创建不了触发器
我用SQL2005,我想当有新记录插入时根据某一字段的值的不同来更新别一个表中的相关记录,看看下面的命令哪错了,怎么修改一下?!
命令如下:
use   ku
GO
CREATE   TRIGGER   INSERT_批发   ON   批发   FOR   INSERT
AS
IF   inserted.是否付款= 'TRUE '
    UPDATE   产品信息   SET   产品状态= '批发 '   WHERE   产品信息.产品编号=inserted.产品编号
ELSE
    UPDATE   产品信息   SET   产品状态= '未付款 '   WHERE   产品信息.产品编号=inserted.产品编号
GO

错误提示:
消息   4104,级别   16,状态   1,过程   INSERT_批发,第   3   行
无法绑定由多个部分组成的标识符   "inserted.是否付款 "。
消息   4104,级别   16,状态   1,过程   INSERT_批发,第   4   行
无法绑定由多个部分组成的标识符   "inserted.产品编号 "。


------解决方案--------------------
use ku
GO
CREATE TRIGGER INSERT_批发 ON 批发 FOR INSERT
AS
IF ((select inserted.[是否付款] from inserted) = 'TRUE ')
UPDATE 产品信息 SET 产品状态= '批发 ' from 产品信息,inserted WHERE 产品信息.产品编号=inserted.产品编号
ELSE
UPDATE 产品信息 SET 产品状态= '未付款 ' from 产品信息,inserted WHERE 产品信息.产品编号=inserted.产品编号
GO