开发者社区 问答 正文

当对动物表进行输入时,如果标价是一个奇数,则将其加1,然后将其插入表中

REATE TRIGGER CHANGEEVEN ON ANIMAL
AFTER INSERT 
AS
BEGIN
     IF LISTPRICE %2!=0
        SET LISTPRICE=LISTPRICE+1
    ELSE
        SET LISTPRICE=LISTPRICE;
END

展开
收起
祖安文状元 2020-01-05 14:46:21 373 分享 版权
1 条回答
写回答
取消 提交回答
  • 您想要一个instead of触发器。对于SQL Server,您的语法看起来非常错误。您不是在指inserted。

    它应该看起来像:

    CREATE TRIGGER CHANGEEVEN ON ANIMAL
    INSTEAD OF INSERT 
    AS
    BEGIN
        INSERT INTO ANIMAL (LISTPRICE, . . . )  -- list columns here
            SELECT (CASE WHEN LISTPRICE % 2 = 1 THEN LISTPRICE + 1
                         ELSE LISTPRICE
                    END),
                   . . .   -- rest of columns here
            FROM inserted i;
    END;
    
    2020-01-05 14:46:29
    赞同 展开评论
问答地址: