SQL 跨数据库查询(跨DB查询)并嵌套插入数据

 

第一种方法(推荐):因为插入数据需要两个表嵌套,所以两个嵌套的表都在远程服务器上查询到结果,这样查询速度非常快,致使插入也非常快!
insert into mfsyscomponent /*插入到本地数据库表*/
select * from openrowset( 'SQLOLEDB ', '172.16.0.0'; 'sa'; 'password',数据库名.dbo.mfsyscomponent/*远程服务器表*/) 
WHERE sysserialno IN 
(select sysserialno from openrowset( 'SQLOLEDB ', '172.16.0.0'; 'sa'; 'password',数据库名.mfworkstatus/*远程服务器的嵌套表*/) WHERE workorderno='63514-17050182')

第二种方法(不推荐):嵌套表在本地如果数据量特别大,查询耗时很长,非常不推荐用这种方法
insert into mfsyscomponent /*插入到本地数据库表*/
select * from openrowset( 'SQLOLEDB ', '172.16.0.0'; 'sa'; 'password',数据库名.dbo.mfsyscomponent/*远程服务器表*/) 
WHERE sysserialno IN (select sysserialno from mfworkstatus WHERE workorderno='63514-17050182'/*本地服务器的嵌套表*/)

 

 

你可能感兴趣的:(小小笔录)