繁体   English   中英

SQL Server中的跨数据库触发器

[英]Cross-database trigger in SQL Server

我在同一SQL Server实例上有两个表CrossDBTrigTest_1CrossDBTrigTest_2

这两个数据库都有一个名为Employee的表。

我在EmployeeCrossDBTrigTest_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”。

在这种情况下如何启用跨数据库触发器?

不应该

  CrossDBTrigTest_2.employee(FirstName,LastName,Date)

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

???

采用

CrossDBTrigTest_2..employee

作为表名。 注意两个点而不是一个点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM