192.168.0.1有tbl1,字段:工号
192.168.0.2有tbl2,字段:工号
我想查询:tbl1中存在而tbl2中不存在的工号,并且把tbl1中的工号导入tbl2中,应该如何实现??
我想大概的语句因该是这样的,但具体的写不出来,望高人指教:
select 工号 from tbl1 where 工号 not in ……………
这里可以建立两个连接,cnn1和cnn2
...全文
136010打赏收藏
如何实现跨服务器的SQL查询语句??
192.168.0.1有tbl1,字段:工号 192.168.0.2有tbl2,字段:工号 我想查询:tbl1中存在而tbl2中不存在的工号,并且把tbl1中的工号导入tbl2中,应该如何实现?? 我想大概的语句因该是这样的,但具体的写不出来,望高人指教: select 工号 from tbl1 where 工号 not in …………… 这里可以建立两个连接,cnn1和cnn2
1、假设本地服务器192.168.0.1,远端服务器192.168.0.2。
2、在192.168.0.2服务器上建立用户:User,密码:000
3、在192.168.0.1服务器上执行如下语句:
exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','192.168.0.2'
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'User','000'
go
3、在本地访问192.168.0.2上的数据库查询示例如下:
select * from srv_lnk.数据库名.dbo.表名
4、以后不再使用时删除链接服务器
exec sp_dropserver 'srv_lnk','droplogins'
go
5、你所说的语句应该是:
select 工号 from tbl1 where 工号 not in (select 工号 from srv_lnk.数据库名.dbo.tbl2)
insert into srv_lnk.数据库名.dbo.tbl2(工号)
select 工号 from tbl1 where 工号 not in (select 工号 from srv_lnk.数据库名.dbo.tbl2)
ls_jingwen(靜雯) 同学的这个方法怎么使用啊?我拷贝下来直接在192.168.0.1下的SQL2000中运行,报错啊
Could not find server '192.26.0.2' in sysservers. Execute sp_addlinkedserver to add the server to sysservers.
必須先將Server連接進目前的SQL Server中才行,而連接方法是建立連接伺服器:
exec sp_addlinkedserver '192.168.0.1','SQL Server'
exec sp_addlinkedserver '192.168.0.2','SQL Server'
select 工号 into a from [192.26.0.1].dbname.dbo.tab1 where 工号 not in (select 工号 from [192.26.0.2].dbname.dbo.tbl2)
insert into [192.26.0.2].dbname.dbo.tbl2 from select * from a