SQL Server跨库查询                    转载,已经标注出处(侵权删)

方式一:(多个数据库均在同一个服务器上)

语句

SELECT * FROM 数据库A.dbo.表A a, 数据库B.dbo.表B b WHERE a.field=b.field

"DBO"可以省略 如

SELECT * FROM 数据库A..表A a, 数据库B..表B b WHERE a.field=b.field

方式二(数据库在不同服务器上,在一个数据库挂上另一个数据库的外链):

SqlServer数据库:

--这句是映射一个远程数据库

EXEC sp_addlinkedserver '远程数据库的IP或主机名',N'SQL Server'

--这句是登录远程数据库

EXEC sp_addlinkedsrvlogin '远程数据库的IP或主机名', 'false', NULL, '登录名', '密码'

--登录后,可以用以下格式操作远程数据库中的对象

select * from [远程数据库的IP或主机名].[数据库名].[dbo].[表名]

insert into openrowset('sqloledb','192.168.0.100';'sa';'10060','select * from knss2009.dbo.yw_kck') select * from yw_kck

示例:
--创建链接服务器 
exec sp_addlinkedserver   'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' 
exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 '

--查询示例 
select * from ITSV.数据库名.dbo.表名

--导入示例 
select * into 表 from ITSV.数据库名.dbo.表名

--以后不再使用时删除链接服务器 
exec sp_dropserver  'ITSV ', 'droplogins '

方式三:

--连接远程/局域网数据(openrowset/openquery/opendatasource) 
--1、openrowset (比较推荐这种做法)

--查询示例 
select * from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)

--生成本地表 
select * into 表 from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)

--把本地表导入远程表 
insert openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) 
select *from 本地表

--更新本地表 
update b 
set b.列A=a.列A 
from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)as a inner join 本地表 b 
on a.column1=b.column1

--openquery用法需要创建一个连接

--首先创建一个连接创建链接服务器 
exec sp_addlinkedserver   'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' 
--查询 
select * 
FROM openquery(ITSV,  'SELECT *  FROM 数据库.dbo.表名 ') 
--把本地表导入远程表 
insert openquery(ITSV,  'SELECT *  FROM 数据库.dbo.表名 ') 
select * from 本地表 
--更新本地表 
update b 
set b.列B=a.列B 
FROM openquery(ITSV,  'SELECT * FROM 数据库.dbo.表名 ') as a  
inner join 本地表 b on a.列A=b.列A

--3、opendatasource/openrowset 
SELECT   * 
FROM   opendatasource( 'SQLOLEDB ',  'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ').test.dbo.roy_ta 
--把本地表导入远程表 
insert opendatasource( 'SQLOLEDB ',  'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ').数据库.dbo.表名 
select * from

跨库取数使用示例(注意做判断):

IF EXISTS(SELECT 1 FROM sys.synonyms WHERE name='SYN305_ys_CostAndCashSet')

DROP SYNONYM SYN305_ys_CostAndCashSet

GO

CREATE SYNONYM SYN305_ys_CostAndCashSet FOR [dotnet_erp305_hnjy].dbo.ys_CostAndCashSet

GO

不允许远程访问出现异常解决方案:

exec sp_configure 'show advanced options',1

reconfigure

exec sp_configure 'Ad Hoc Distributed Queries',1

reconfigure

SQLSERVER不同数据库联表查询相关推荐

  1. 数据库 の 联表查询

    文章目录 一. 概念 比较详细的参考资料. 二.笛卡尔积 三.查询的分类 3.1按照功能来分 2.1等值连接 2.2 为表起别名 2.3加筛选条件 3.2 外连接 主表和从表的区分 一. 概念 联表查 ...

  2. mysql 回退查询_MYSQL数据库表排序规则不一致导致联表查询,索引不起作用问题...

    Mysql数据库表排序规则不一致导致联表查询,索引不起作用问题 表更描述: 将mysql数据库中的worktask表添加ishaspic字段. 具体操作:(1)数据库worktask表新添是否有图片字 ...

  3. mysql改了排序规则不生效_Mysql数据库表排序规则不一致导致联表查询,索引不起作用问题...

    Mysql数据库表排序规则不一致导致联表查询,索引不起作用问题 表更描述: 将mysql数据库中的worktask表添加ishaspic字段. 具体操作:(1)数据库worktask表新添是否有图片字 ...

  4. 《MySQL》入门基础知识点大全:数据库操作、增删改查、联表查询、常用函数、MD5加密、事务特性、隔离级别

    MySQL基础知识大全 1.操作数据库 1.1 创建表 1.2 修改表名 1.3 增加表的字段 1.4 修改表的字段 1.4.1 修改表的字段 1.4.2 修改表名 1.5 删除表的字段 1.6 删除 ...

  5. 联表查询和嵌套查询—读懂数据库仓储

    数据仓储不像java.C++.JS等开发语言,而是数据库仓储更多用于对接产品工作,查询数据.分析数据.得出产品未来发展方向,与产品经理相关联,而联表查询和嵌套查询作为数据库基础的查询方法,学习使用,方 ...

  6. 宅在家里写数据库中联表查询

    联表查询的关键字是join,如果需要判断条件的话是join on(on后面加判断条件),这两个一般是成对出现的,这里以两个表的连接进行讲解,首先给出两个表,分别是student学生表和result成绩 ...

  7. mysql数据库之联表查询

    表准备: 这次我们用到5张表: class表: student表: score表: course表: teacher表: 表结构模型: 我们针对以下需求分析联表查询: 1.查询所有的课程的名称以及对应 ...

  8. oracle数据库同时实现联表查询和分页查询(未明确定义列)

    ps:只是记录新手小白的脱坑之路,大佬勿喷 今天在做前端数据查询的时候,在实现联表查询的同时进行分页查询遇到了令人头秃的问题,分页查询的sql语句是这样的 select * from (select ...

  9. mysql 连表查询_mysql数据库之联表查询

    表准备: 这次我们用到5张表: class表: student表: score表: course表: teacher表: 表结构模型: 我们针对以下需求分析联表查询: 1.查询所有的课程的名称以及对应 ...

  10. Spring Hibernate JPA 联表查询 复杂查询

    (转自:http://www.cnblogs.com/jiangxiaoyaoblog/p/5635152.html) 今天刷网,才发现: 1)如果想用hibernate注解,是不是一定会用到jpa的 ...

最新文章

  1. matlab regress()
  2. 判断Java 对象实例是否死亡
  3. 【GRE协议】CentOS配置GRE隧道
  4. Python实现一条基于POS算法的区块链
  5. 《梦断代码》随笔第2篇
  6. 兼容IE8以下,获取className节点的元素(document.getElementsByClassName()兼容写法)。
  7. Springboot 下 ModelAndView 的简单使用
  8. 数据分析3_淘宝用户行为分析_阿里云天池
  9. Python第五天的学习分享
  10. Promise的含义和用法
  11. iphone开发之仿微信用户引导界面的实现
  12. Appium+python自动化(六)- 连接模拟器并启动淘宝APP(超详解)
  13. excel简单操作。python
  14. linux踢人命令 pkill踢人用法
  15. Apollo + Springboot 整合(多环境版)
  16. WDM 驱动程序开发
  17. React使用过程知识点随手记
  18. 【ACL2020】香侬科技提出基于span prediction的共指消解模型
  19. 获取Alexa排名数据接口
  20. oracle查看最近三十天的记录,以及排序一定要变成int类型

热门文章

  1. NERO8.3.6.0(官方完整版+序列号)
  2. vs2013 旗舰版 密钥
  3. 【最新最全】JavaScript从入门到精通_Web前端必学的JS教程
  4. eop 文件打包下载大全 - 9000多首歌曲打包免费百度云下载
  5. 致远oa系统报价_用友致远OA 系统 一般价钱?(公司60-70台左右的电脑)
  6. 局域网内网关欺骗获取网站密码
  7. 记一次wireshark抓取QQ好友IP和火绒抓取微信IP
  8. 通俗易懂讲解javaSocket编程
  9. python tushare
  10. 苹果Mac设备丢失时怎样利用激活锁保护隐私信息?