4

VS2010 にデータベース プロジェクトを追加しようとしています。開発サーバーを指す SQL 2008 DB プロジェクトを作成しましたが、適切なスキーマ オブジェクトがすべて生成されたようです。ただし、すべての CREATE TRIGGER スクリプトには次のエラーがあります。

SQL03120: Cannot find element referenced by the supporting statement

そのエラーメッセージをグーグルで調べてもあまり返されず、ここでは当てはまらない CREATE の代わりに ALTER を使用するスクリプトを指しているようです。これは、スクリプトの 1 つの例です。

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] ​​修飾子は解決可能のようです。これが思いつかない…

4

1 に答える 1

2

Google で上記のエラーを検索すると、この投稿が表示されるため、このエラーの別の理由は、データベース プロジェクトにストアド プロシージャがありALTER PROCEDURECREATE PROCEDURE.

于 2016-10-12T11:49:47.550 に答える