我正在尝试创建一个非常简单的触发器并收到错误: 消息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
答案 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 [ ]