2012-01-24 4 views
2

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

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がエラーを原因としている行は、システムprocを実行している最後の行です。私にとって目立つものは、dboスキーマにオブジェクトが存在しないことです。テーブルはコンテンツスキーマ内にあり、履歴スキーマに一致するテーブルがあります。しかし[Content]と[History]の修飾子が解決できるように思えます。これを理解することはできません...

+0

VS2010のDBプロジェクトは、SQLのように書かれているにもかかわらず、create文のトリガ名を修飾しないことがわかります。 – Vardoj

答えて

0

上記のエラーはGoogleで検索したときに表示されるので、このエラーのもう1つは、データベースプロジェクトにALTER PROCEDUREという名前のストアドプロシージャがある場合ですCREATE PROCEDUREではなく

関連する問題