深入SQL Server 跨數(shù)據(jù)庫(kù)查詢的詳解
SELECT * FROM 數(shù)據(jù)庫(kù)A.dbo.表A a, 數(shù)據(jù)庫(kù)B.dbo.表B b WHERE a.field=b.field
"DBO"可以省略 如
SELECT * FROM 數(shù)據(jù)庫(kù)A..表A a, 數(shù)據(jù)庫(kù)B..表B b WHERE a.field=b.field
SqlServer數(shù)據(jù)庫(kù):
--這句是映射一個(gè)遠(yuǎn)程數(shù)據(jù)庫(kù)
EXEC sp_addlinkedserver '遠(yuǎn)程數(shù)據(jù)庫(kù)的IP或主機(jī)名',N'SQL Server'
--這句是登錄遠(yuǎn)程數(shù)據(jù)庫(kù)
EXEC sp_addlinkedsrvlogin '遠(yuǎn)程數(shù)據(jù)庫(kù)的IP或主機(jī)名', 'false', NULL, '登錄名', '密碼'
--登錄后,可以用以下格式操作遠(yuǎn)程數(shù)據(jù)庫(kù)中的對(duì)象
select * from [遠(yuǎn)程數(shù)據(jù)庫(kù)的IP或主機(jī)名].[數(shù)據(jù)庫(kù)名].[dbo].[表名]
insert into openrowset('sqloledb','192.168.0.100';'sa';'10060','select * from knss2009.dbo.yw_kck') select * from yw_kck
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
不同服務(wù)器數(shù)據(jù)庫(kù)之間的數(shù)據(jù)操作
--創(chuàng)建鏈接服務(wù)器
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '遠(yuǎn)程服務(wù)器名或ip地址 '
exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用戶名 ', '密碼 '
--查詢示例
select * from ITSV.數(shù)據(jù)庫(kù)名.dbo.表名
--導(dǎo)入示例
select * into 表 from ITSV.數(shù)據(jù)庫(kù)名.dbo.表名
--以后不再使用時(shí)刪除鏈接服務(wù)器
exec sp_dropserver 'ITSV ', 'droplogins '
--連接遠(yuǎn)程/局域網(wǎng)數(shù)據(jù)(openrowset/openquery/opendatasource)
--1、openrowset
--查詢示例
select * from openrowset( 'SQLOLEDB ', 'sql服務(wù)器名 '; '用戶名 '; '密碼 ',數(shù)據(jù)庫(kù)名.dbo.表名)
--生成本地表
select * into 表 from openrowset( 'SQLOLEDB ', 'sql服務(wù)器名 '; '用戶名 '; '密碼 ',數(shù)據(jù)庫(kù)名.dbo.表名)
--把本地表導(dǎo)入遠(yuǎn)程表
insert openrowset( 'SQLOLEDB ', 'sql服務(wù)器名 '; '用戶名 '; '密碼 ',數(shù)據(jù)庫(kù)名.dbo.表名)
select *from 本地表
--更新本地表
update b
set b.列A=a.列A
from openrowset( 'SQLOLEDB ', 'sql服務(wù)器名 '; '用戶名 '; '密碼 ',數(shù)據(jù)庫(kù)名.dbo.表名)as a inner join 本地表 b
on a.column1=b.column1
--openquery用法需要?jiǎng)?chuàng)建一個(gè)連接
--首先創(chuàng)建一個(gè)連接創(chuàng)建鏈接服務(wù)器
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '遠(yuǎn)程服務(wù)器名或ip地址 '
--查詢
select *
FROM openquery(ITSV, 'SELECT * FROM 數(shù)據(jù)庫(kù).dbo.表名 ')
--把本地表導(dǎo)入遠(yuǎn)程表
insert openquery(ITSV, 'SELECT * FROM 數(shù)據(jù)庫(kù).dbo.表名 ')
select * from 本地表
--更新本地表
update b
set b.列B=a.列B
FROM openquery(ITSV, 'SELECT * FROM 數(shù)據(jù)庫(kù).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
--把本地表導(dǎo)入遠(yuǎn)程表
insert opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陸名;Password=密碼 ').數(shù)據(jù)庫(kù).dbo.表名
select * from
相關(guān)文章
sql server實(shí)現(xiàn)在多個(gè)數(shù)據(jù)庫(kù)間快速查詢某個(gè)表信息的方法
這篇文章主要介紹了sql server實(shí)現(xiàn)在多個(gè)數(shù)據(jù)庫(kù)間快速查詢某個(gè)表信息的方法,結(jié)合實(shí)例形式分析了SQL Server多個(gè)數(shù)據(jù)庫(kù)查詢的相關(guān)操作技巧,代碼備有詳盡的注釋,需要的朋友可以參考下2017-03-03程序員最實(shí)用的 SQL 語(yǔ)句收藏,看完這篇就夠了
sql語(yǔ)句在程序開(kāi)發(fā)時(shí)使用非常廣泛,本文給大家收藏自增,增刪改查,多表查詢,內(nèi)置函數(shù)等實(shí)用 SQL 語(yǔ)句,給大家整理的很詳細(xì),喜歡的朋友快快收藏起來(lái)吧2021-05-05SQL Server 數(shù)據(jù)庫(kù)分離與附加(圖文教程)
SQL Server 數(shù)據(jù)庫(kù)分離與附加(圖文教程),需要的朋友可以參考一下2013-05-05按日期選擇最晚日期與最早日期對(duì)應(yīng)的數(shù)的差值
想得到當(dāng)天的最早時(shí)間與最晚時(shí)間的number的差值,需要的朋友可以參考下。2009-11-11使用SQL Server數(shù)據(jù)庫(kù)嵌套子查詢的方法
使用SQL Server數(shù)據(jù)庫(kù)嵌套子查詢的方法...2007-03-03利用SQL SERVER建立登錄WINDOWS帳號(hào)
SQL SERVER建立WINDOWS登錄帳號(hào)2009-02-02大數(shù)據(jù)量高并發(fā)的數(shù)據(jù)庫(kù)優(yōu)化詳解
這篇文章主要介紹了大數(shù)據(jù)量高并發(fā)的數(shù)據(jù)庫(kù)優(yōu)化,需要的朋友可以參考下2015-08-08在數(shù)據(jù)庫(kù)中自動(dòng)生成編號(hào)的實(shí)現(xiàn)方法分享
一直很討厭存儲(chǔ)過(guò)程,沒(méi)想到今天幫了我大忙啊,或許會(huì)因?yàn)榻裉熳屛衣矚g上存儲(chǔ)過(guò)程吧,不多說(shuō)了,切入正題2011-10-10