读书人

跨数据库触发器的有关问题

发布时间: 2012-07-20 10:38:30 作者: rapoo

跨数据库触发器的问题
已经知
数据库DB1中有表A有字段F1,F2,ID
数据库DB2中有表B有字段B2,ID

想写一个触发器实现:
当DB1的表A插入一条记录时,数据库DB2中的表B也插入一条记录,并且用A.F2的值做为表B.B2的值,A.ID的值作为B.ID的值
当DB1的表A删除一条记录时,数据库DB2中的表B也删除ID相同的记录
应该怎么写?谢谢.
这思路效率会不会很差啊?有没有更好的替代方法?

[解决办法]

SQL code
--insert update分开吧,不然还要加些判断的create trigger A_INSon Afor insert,updateasif update(F2) update t set t.B2=i.F2 from [DB2].[dbo].[B] t,inserted i where i.ID=t.ID;insert into [DB2].[dbo].[B](B2,ID) select F2,ID from inserted A    where not exists (select 1 from [DB2].[dbo].[B] t        where t.ID=A.ID and t.F2=B.F2);go 

读书人网 >SQL Server

热点推荐