创建触发器

时间:2011-04-07 13:48:09

标签: sql-server-2005

我正在尝试创建一个非常简单的触发器并收到错误: 消息8197,级别16,状态4,过程trig_UpdateTransferBools,第1行 对象'dbo.DW_WEEK_RANGE'不存在或对此操作无效。

表格显然存在;我创造了它! 这可能是一个权限问题吗?

CREATE TRIGGER dbo.trig_UpdateTransferBools ON [dbo.DW_WEEK_RANGE]
AFTER INSERT, UPDATE
AS
BEGIN

    IF (SELECT Transfer FROM dbo.DW_WEEK_RANGE WHERE Module = 'PURCHASES') = 1
        BEGIN
            UPDATE [dbo.DW_WEEK_RANGE] SET Transfer = 0 WHERE Module = 'SALES'
            UPDATE [dbo.DW_WEEK_RANGE] SET Transfer = 0 WHERE Module = 'RETAIL SALES'
        END

END

1 个答案:

答案 0 :(得分:1)

必须是dbo.[DW_WEEK_RANGE][dbo].[DW_WEEK_RANGE]而不是[dbo.DW_WEEK_RANGE]

schema.table

您也可以省略括号,括号就在那里,这样您就可以将表格命名为空格或关键字

例如

CREATE TABLE [ ](id INT)

INSERT [ ] VALUES(1)

SELECT * FROM [ ]