2013-08-19 3 views
0

У меня есть студия управления сервером sql 2012 и я пытаюсь создать триггер в существующей базе данных, чтобы проверить это, я создал таблицу «prueba» и im, пытающуюся установить триггер (щелкнув правой кнопкой мыши по базе данных, calle veritrax и нажатие «нового запроса»). это мой запрос:создание триггера дает ошибку

CREATE TRIGGER items_insert ON [dbo.prueba] 
FOR INSERT 
AS 
SET XACT_ABORT ON 
INSERT INTO OPENQUERY(WEBDB, 'SELECT * FROM prueba') 
SELECT ID, Name FROM INSERTED 

GO 

однако, я получаю эту ошибку:

* Msg 8197, уровень 16, состояние 4, процедура items_insert, строка 1 Объект 'dbo.prueba' не существуют или являются недопустимыми для этой операции. *

Что не так в запросе? любая помощь была бы оценена

EDIT: О боже, извините, что я вставил старое сообщение об ошибке, ошибка сделала ссылку на prueba.dbo, а не tlbAccessAreas!

+0

Проверьте dbo.prueba, который имеет все зависимости от dbo.tblAccessAreas. Проверьте, есть ли у dbo.prueba какие-либо FK с tblAccessAreas. Любые другие триггеры на dbo.prueba, обращающиеся к dbo.tblAccessAreas. –

+0

как бы проверить это? im new для SQL Server, я сомневаюсь, что он имеет зависимости, потому что я специально создал таблицу для проверки связанного сервера! – user1181589

+0

Если у вас есть права, вы можете щелкнуть правой кнопкой мыши по таблице dbo.prueba и нажать «Зависимости от просмотра» –

ответ

0

Старый вопрос, я удивлен, что никто его не заметил. Ваш пунктирная обозначение не является правильным, т.е .: [dbo.prueba] должен быть [dbo].[prueba]:

CREATE TRIGGER items_insert ON [dbo].[prueba] 
FOR INSERT 
AS 
SET XACT_ABORT ON 
INSERT INTO OPENQUERY(WEBDB, 'SELECT * FROM prueba') 
    SELECT ID, Name FROM INSERTED 
GO 
Смежные вопросы