Я работаю над добавлением проекта базы данных в VS2010. Я создал проект базы данных SQL 2008, указав на сервер разработки, и, похоже, создал все соответствующие объекты схемы. Тем не менее, все 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 является приписыванием ошибки последней строка выполнения системы прока. Что выделяется мне, так это то, что ни один из объектов не существует в схеме dbo. Таблица находится в схеме содержимого, и в схеме истории есть соответствующая таблица. Похоже, что [Content] и [History] квалификаторы были бы разрешимы, хотя. Не могу понять этот ...
Оказывается, что проекты VS2010 db не квалифицируют имя триггера в выражении create, несмотря на то, что он написан таким образом в SQL ... – Vardoj