在另一个数据库更新上更新SQL Server数据库
我有两个不同的SQL Server数据库。为了便于示例,我们将它们称为Test1和Test2。我想写一个命令,一旦从Test1中提取数据,它将更新Test2中的表(Trigger、SP或您可能有的任何其他想法)在另一个数据库更新上更新SQL Server数据库,sql,sql-server,database,triggers,Sql,Sql Server,Database,Triggers,我有两个不同的SQL Server数据库。为了便于示例,我们将它们称为Test1和Test2。我想写一个命令,一旦从Test1中提取数据,它将更新Test2中的表(Trigger、SP或您可能有的任何其他想法) You Can Create Trigger For Another DataBase: 这里的Db_Test1和Db_Test2是两个不同的数据库 [dbo].[Table1]:Db_Test1 CREATE TABLE [dbo].[Table1]( [Id] [bigin
You Can Create Trigger For Another DataBase:
这里的Db_Test1
和Db_Test2
是两个不同的数据库
[dbo].[Table1]
:Db_Test1
CREATE TABLE [dbo].[Table1](
[Id] [bigint] IDENTITY(1,1) NOT NULL,
[Name] [varchar](50) NULL,
)
[dbo].[Table_1]
:来自[DB_Test2
CREATE TABLE [dbo].[Table_1](
[Id] [bigint] IDENTITY(1,1) NOT NULL,
[Fk_Id] [bigint] NULL,
[Name] [varchar](50) NULL,
[Comments] [varchar](50) NULL
)
下面是[Db_Test1].[dbo].[Table1]更新的触发器
您是否尝试过与“Test1”上的触发器有关的任何操作,并编写了触发器,以便它尝试在“Test2”上执行某些操作?如果尝试过,您是否遇到任何错误?向我们展示一些工作并解释什么不起作用否我没有尝试过,因为我不知道如何操作交叉db触发器。您想在运行后更新Test2数据库吗在Test1上调用SELECT语句?不。Test1是一个由软件操作的DB。由于软件打开Test1进行读取,我想更新Test2(我可以作为管理员访问Test1)
ALTER TRIGGER [dbo].[trgAfterUpdate] ON [dbo].[Table1]
FOR Update
AS
declare @id int
declare @name varchar(100)
declare @comments varchar(100)
select @id=id from inserted i
select @name=i.name from inserted i
set @comments='hello'
if update(name)
update [DB_Test2].[dbo].[Table_1] set Name=@name where Fk_Id=@id