SQL 中OPENQUERY的使用

原文: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 ...
 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。