
建立链接服务器
然后这样的写法就可以了
selectfrom [192168xxxxxx]库名dbo表名
你这个不是一句俩句说的了,给你个相关的贴子吧
>
select库1x,库2xxfrom库1table1,库2table2where库1table1xxx=库2table2xxx这种方式写
这样你只需要写一个库1的连接字符串。然后把语句丢给库1处理。
如果是两个不同服务器。还是用链接或存储过程吧。
在1010101上执行该命令,创建两数据库服务器的连接
--创建链接服务器
exec sp_addlinkedserver
@server ='1010102',--链接服务器名,这个可以改简单点,比如S003,引用也方便
@srvproduct = '',
@provider = N'SQLOLEDB',
@datasrc = N'1010102',--远程服务器名称
@catalog = N'Master'
go
--创建远程登录
exec sp_addlinkedsrvlogin
@rmtsrvname = '1010102',
@useself='False',
@rmtuser = 'sa', --远程服务器登录名称
@rmtpassword ='1234' --1010102数据库的登录密码
go
要说明的是,虽然你创建链接成功了但你不可以在1010101上面的某个表中,利用触发器更新1010102数据库2里面的某个表所以你只能利用Job功能,进行时段自动更新
在1010101上创建一存储过程:
Create Proc up_UpdateData
As
Begin
Update 1dbo1 Set No=BNo
From 1dbo1 A Inner Join [1010102]2dbo2 B On AISBN=BISBN WHERE ANo<>BNo --加上后面这个条件可以增加执行效率,不加上也可以
End
创建一Job:
企业管理器->1010101(实例名)->management->SQL Server Agent->Jobs
->New Job->Name(自定义)->Steps->Step name(自定义)->Command:->EXEC up_UpdateData ->OK->Schedules->自动更新的时间自定义->最后点击确定
select from [数据库1]dbo[表1] where 字段='' union
select from [数据库2]dbo[表2] where 字段='' 表示把查询的结果合并显示,上面那个有些问题,就试下这个吧。这个是要求两个表的结构式一样的 或者是要查询的字段结构是一样的就可以
以上就是关于sqlserver2005 跨两个服务器中的两张表关联查询的写法最好有例子。全部的内容,包括:sqlserver2005 跨两个服务器中的两张表关联查询的写法最好有例子。、sql数据库多个数据库进行关联查询求助(数据库多张表关联查询)、两个数据库之间的查询和更新 *** 作等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)