Ошибка SQL03120 в сценариях запуска в проекте БД 2008

Я работаю над добавлением проекта базы данных в VS2010. Я создал проект базы данных SQL 2008, направленный на сервер разработки, и, похоже, он сгенерировал все соответствующие объекты схемы. Однако все сценарии 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] могут быть разрешены. Не могу понять это...

1 ответ

Поскольку этот пост появляется при поиске вышеуказанной ошибки в Google: еще одна причина этой ошибки - наличие хранимой процедуры в проекте базы данных, в которой указано ALTER PROCEDURE скорее, чем CREATE PROCEDURE,

Другие вопросы по тегам