Триггер базы данных в SQL Server - PullRequest
0 голосов
/ 01 марта 2012

У меня есть две таблицы CrossDBTrigTest_1 и CrossDBTrigTest_2 в одном экземпляре SQL Server.

В обеих базах данных есть таблица с именем Employee.

Я написал следующий триггер в таблицу Employee CrossDBTrigTest_1 db:

Create Trigger [dbo].[CrossDBInsert] on [dbo].[employee] after insert
AS 
Begin
  Set nocount on

  Insert into CrossDBTrigTest_2.employee(FirstName, LastName, Date) 
    SELECT inserted.FirstName, inserted.LastName, getdate() 
    FROM inserted
End

, но оператор Insert завершается неудачно с сообщением:

Сообщение 208, Уровень 16, Состояние 1, Процедура CrossDBInsert, Строка 5
Неверное имя объекта 'CrossDBTrigTest_2.employee'.

Как включить кросс-триггерные базы в подобных ситуациях ??

Ответы [ 2 ]

8 голосов
/ 01 марта 2012

Не должно

  CrossDBTrigTest_2.employee(FirstName,LastName,Date)

быть

  CrossDBTrigTest_2.dbo.employee(FirstName,LastName,Date)

???

3 голосов
/ 01 марта 2012

Используйте

CrossDBTrigTest_2..employee

в качестве имени таблицы.Обратите внимание на две точки вместо одной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...