请教同一个服务器,两个数据库之间同步更新数据的触发器SQL语句
发布网友
发布时间:2022-05-01 04:34
我来回答
共3个回答
懂视网
时间:2022-05-01 08:56
A.[序号], A.[日期], A.[IP], A.[部门], A.[操作员], A.[事件] from A
where not exists(select 1 from B where A.[序号]=B.[序号]);
2、将A表中不存在于B表的记录,插入到B表中。
INSERT INTO B([序号], [日期], [IP], [部门], [操作员], [事件])
SELECT [序号], [日期], [IP], [部门], [操作员], [事件]
FROM A
WHERE NOT EXISTS (SELECT 1 FROM B WHERE A.[序号]=B.[序号]);
3、将B表中的记录一行一行更新到A表中。
UPDATE A SET A.[日期] = B.[日期], A.[IP] = B.[IP], A.[部门] = B.[部门], A.[操作员] = B.[操作员], A.[事件] = B.[事件]
FROM A INNER JOIN B ON A.[序号]=B.[序号];
MySql:
UPDATE his_pet A, his_pet B SET A.Name = B.Name, A.NamePy = B.NamePy WHERE A.MID = B.MID
数据库同步相关的SQL语句
标签:
热心网友
时间:2022-05-01 06:04
一个例子:
create table t_a(id int identity(1,1),username varchar(20))
create table t_b(id int identity(1,1),username varchar(20))
create trigger tr_a on t_a
for update,insert,delete
as
alter table t_b DISABLE TRIGGER tr_b
----------------------------------
if not exists (select * from deleted) --插入
insert t_b(username) select username from inserted
else if not exists (select * from inserted)--删除
delete t_b where id in (select id from deleted)
else--更新
update a set a.username=i.username from t_b as a,inserted as i where a.id=i.id
alter table t_b ENABLE TRIGGER tr_b
------------------------------------------
create trigger tr_b on t_b
for update,insert,delete
as
alter table t_a DISABLE TRIGGER tr_a
----------------------------------
if not exists (select * from deleted) --插入
insert t_a(username) select username from inserted
else if not exists (select * from inserted) --删除
delete t_a where id in (select id from deleted)
else --更新
update a set a.username=i.username from t_a as a,inserted as i where a.id=i.id
alter table t_a ENABLE TRIGGER tr_a
select * from t_a
select * from t_b
--测试:
insert t_a(username) values('test')
insert t_b(username) values('test2')
update t_a set username='test1' where id=1
update t_b set username='test3' where id=1
delete from t_a where id=1
delete from t_b where id=2
--------------------------
select * from t_a
select * from t_b
热心网友
时间:2022-05-01 07:22
CREATE TRIGGER 触发器名称 ON [dbo].[表名]
FOR INSERT, UPDATE, DELETE
AS
begin
insert 数据库.dbo.表名(列名) select scend from inserted
end
请教同一个服务器,两个数据库之间同步更新数据的触发器SQL语句
create table t_a(id int identity(1,1),username varchar(20))create table t_b(id int identity(1,1),username varchar(20))create trigger tr_a on t_a for update,insert,delete as alter table t_b DISABLE TRIGGER tr_b...
sql 两个数据库之间怎么更新数据
sql 两个数据库之间怎么更新数据 --触发器可以,通过数据库2中的表B更新数据库1中的表A。create trigger tgr_update on 数据库2.dbo.B for update as begin update 数据库1.dbo.A set 数据库1.dbo.A.字段='值' from inserted where 数据库1.dbo.A.字段=inserted.字段 end ...
sql server触发器 两个数据库表同步更新
CREATE TRIGGER trigger_cgjh_insert ON [dbo].[cg_cgjh_bt]FOR INSERT AS BEGIN insert into openrowset('sqloledb','192.168.0.100';'sa';'10060','select * from knss2009.dbo.yw_kck') select * from yw_kck END 给你写过例子可以实现跨服务器跨库的语句吧,你那种方法没用过 你在...
SQL如何将两个不同数据库同一张表的数据同步更新
只要你要更新的表加上数据库名,下面是例子,你自己在触发器里仿照一下 UPDATE Northwind.dbo.employees SET lastName = '' WHERE lastName = ''
sql如何将两个表里的数据同步
inserted --把插入的数据的保存到变量insert into ygpx_kszb2 values (@kssj,@sqbh) --同步插入到另一表以上触发器可以实现,在表ygpx_kszb中插入数据,同步插入到表ygpx_kszb2 。触发器还可以针对表的 insert,delete, update 操作时安装要求执行数据同步的操作,即可实现两个表里的数据同步。
...有一个相同的数据库,如何实现两个数据库同步更新
SQL数据同步:利用数据库复制技术实现数据同步(同时)更新、复制等概念 说明 :复制是将一组数据从一个数据源拷贝到多个数据源的技术,是将一份数据发布到多个存储站点上的有效方式。使用复制技术,用户可以将一份数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据...
sql 同一个表里的两个值怎么同步,或者关联
数据库字段设计,有个地方填写默认值的,你在CID的字段设计那里,填写为cate_id,以后再来就有值了。如果是改现在的,就在查询分析器里面,执行语句 update 表名 set cid= cate_id 这样,CID的值,就全部转变为cate_id了,执行前建议备份下这个表,因为执行了,就不能还原了 ...
sql server2008,同一数据库里的两张不同的表怎么实现同步?
更新 create trigger up_table on aaa for update as if update(a1)or update(a2)begin update t2 set b1=t1.a1,b2=t1.a2 from inserted t1,bbb t2 where t1.aid=t2.bid end 插入 create trigger in_table on aaa for insert as insert into bbb(b1,b2)select a1,a2 from inserted end...
如何实现多个SQL数据库同样结构的表同步更新!
在每个数据库的table1\table2都建立插入、删除、修改触发器 如在A1上 ceate trigger dbo.table1_u on A1.dbo.table1 for insert,update,delete as IF @@rowcount = 0 RETURN declare @no_i int -- 假设no为关键字 --declare 其他字段 declare @no_d int -- 假设no为关键字 --declare...
怎么实现两个数据库的同步
一、分发与复制 用强制订阅实现数据库同步操作. 大量和批量的数据可以用数据库的同步机制处理: // 说明: 为方便操作,所有操作均在发布服务器(分发服务器)上操作,并使用推模式 在客户机器使用强制订阅方式。 二、测试通过 1:环境 服务器环境: 机器名称: zehuadb 操作系统:windows 2000 server 数据库版本:sql 20...