我正在努力在 VS2010 中添加一个数据库项目。我创建了一个 SQL 2008 DB 项目,指向开发服务器,它似乎已经生成了所有适当的模式对象。但是,所有 CREATE TRIGGER 脚本都有以下错误:
SQL03120: Cannot find element referenced by the supporting statement
谷歌搜索该错误消息不会返回太多,并且似乎指向使用 ALTER 而不是 CREATE 的脚本,这不是这里的情况。这是其中一个脚本的示例:
CREATE TRIGGER [TR_t_TABLE_TRIGGERNAME] ON [content].[t_TABLE]
FOR INSERT
AS
BEGIN
IF ( SELECT COUNT(*) FROM inserted) > 0
BEGIN
DECLARE @columnBits VARBINARY(50)
SELECT @columnBits = COLUMNS_UPDATED() | CAST (0 AS BIGINT)
INSERT INTO [history].[t_TABLE]
(
....
)
SELECT
....
FROM inserted
END
END
GO
EXECUTE sp_settriggerorder @triggername = N'[Content].[TR_t_TABLE_TRIGGER]', @order = N'last', @stmttype = N'insert';
Visual Studio 将错误归因于的行是执行系统过程的最后一行。对我来说最突出的是 dbo 模式中不存在任何对象。该表位于 Content 模式中,并且在 History 模式中具有匹配的表。不过,似乎 [Content] 和 [History] 限定词是可以解析的。想不出来这个...