мы можем построить триггер T_SQL, который изменяет таблицу в другой базе данных - PullRequest
0 голосов
/ 31 октября 2011

Я работаю с SQL Server 2008, и я хочу создать в моей первой базе данных триггер после обновления, который изменяет в своем теле данные в другой базе данных. это можно сделать и как? пожалуйста, помогите мне с кодом

спасибо

1 Ответ

0 голосов
/ 31 октября 2011

Ваши базы данных находятся на одном экземпляре сервера? Если это так, просто укажите ссылку на имя базы данных (например, [База данных]. [Схема]. [Таблица]). Кажется, это работает (у меня есть база данных с именем 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
...