我正在使用SQL Server 2008,我想在我的第一个数据库中创建一个更新后的触发器,它会在另一个数据库中更改它的数据。 可以这样做,怎么做? 请帮我解释一下代码
感谢
答案 0 :(得分:0)
您的数据库是否位于同一服务器实例上?如果是,那么只需使用数据库名称限定引用(例如[Database]。[schema]。[Table])。这似乎有效(我有一个名为Staging的数据库,另一个名为Tom):
USE [Staging]
GO
CREATE TABLE [dbo].[Test]
(
[Name] VARCHAR(50)
)
GO
INSERT [dbo].[Test] VALUES ('START')
GO
USE [Tom]
GO
CREATE TABLE [dbo].[Test]
(
[Name] VARCHAR(50)
)
GO
INSERT [dbo].[Test] VALUES ('START')
GO
USE [Staging]
GO
CREATE TRIGGER [dbo].[TestTrigger]
ON [dbo].[Test]
AFTER UPDATE
AS
UPDATE [Tom].[dbo].[Test] -- Qualified with database name
SET [Name] = 'UPDATED FROM [dbo].[TestTrigger]'
GO
UPDATE [dbo].[Test]
SET [Name] = 'Testing'
GO
SELECT * FROM [Tom].[dbo].[Test]
GO
DROP TABLE [Staging].[dbo].[Test]
DROP TABLE [Tom].[dbo].[Test]
GO