已经知
数据库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