SQL 中OPENQUERY的使用


OpenQuery 是SQL Server用来与其他Server交互的一种技术,通过OpenQuery,SQL Server 可以直接访问其他数据库资源。

而其他数据库在OpenQuery 表达式中是以Linked Server 存在的。 使用sp_linkedservers 可以找到当前数据库的所有linked server.

例如在sql server 2008数据库中通过链接服务器想访问sql server 2000 的数据库就必须使用OpenQuery了。

OpenQuery的表达式可以这么写:

Select * from OpenQuery([linkedServerName],'Select * from t1 where id < 10')

而且值得注意的是,如果,你要在OpenQuery中执行如下的数据库语句,

Select * from t1 Where Name = 'ida'

'ida' 必须以双引号的形式传人,如下,

Select * from OpenQuery([linkedServerName],'Select * from t1 where name= ''ida''')
如果是要写入数据到另外的数据库呢?格式如下:
insert into openquery([linkedServerName],
'select id,name,....
 from [dbname].dbo.tbname where 1=0')  
select 
id,name,...
from t2 
where ...
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM