比如,当前数据库名称为db1,表的名字为test1表。test1表里面有一个触发器:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
goALTER TRIGGER [tgr_testSQL] ON [dbo].[db1] 
ASBEGIN
insert into db1 (content,mobile) values('test','235435345')--我还想往隔壁的数据库db2里面的test2表里面插入数据,可否这么写:
insert into [db2].[test2] (content,mobile) values('test','235435345')
END

解决方案 »

  1.   

    db1 db2 在同一个实例上可以(你给的代码有问题)
    create TRIGGER [tgr_testSQL] ON test1  
    after insert
    asBEGIN
    insert into db1.dbo.test1 (content,mobile) values('test','235435345')--我还想往隔壁的数据库db2里面的test2表里面插入数据,可否这么写:
    insert into [db2].[dbo].[test2](content,mobile) values('test','235435345')
    END
      

  2.   

    除了少了after insert和跨服务器访问数据库需要处理的问题之外,你的代码是可以的。不过问题在于是否需要用触发器来实现这个功能。由于触发器,特别是在2000中,不好维护,而且容易导致性能问题,你插到另外一个库,如果有性能问题,那会影响两个库。要考虑是否有其他方式来实现。