您好,欢迎访问一九零五行业门户网

在SQL Server中使用OpenQuery访问其他数据库

openquery 是sql server用来与 其他 server交互的一种技术, 通过openquery,sql server 可以直接 访问 其他 数据库 资源。 而 其他 数据库 在openquery 表达式中是以linked server 存在的。 使用 sp_linkedservers 可以找到当前 数据库 的所有linked server
openquery 是sql server用来与其他server交互的一种技术,
通过openquery,sql server 可以直接访问其他数据库资源。
而其他数据库在openquery 表达式中是以linked server 存在的。
使用sp_linkedservers 可以找到当前数据库的所有linked server.
也可以在sql server管理工具的“服务器对象”-“连接服务器”中查看当前数据库中的linked server:
openquery的表达式可以这么写:
select * from openquery([linkedservername],'select * from table1 where rownum < 10')
而且值得注意的是,如果,你要在openquery中执行如下的数据库语句,
select * from tbl_emp where empname = 'leo''
leo' 必须以双引号的形式传入,如下,
select * from openquery([linkedservername],'select * from table1 where empname = ''leo''')
如果要传入一个参数到openquery里面,
可以组装动态sql,并通过exec执行即可。
declare @sql varchar(1000)declare @organizationid varchar(10)select @organizationid = (select organization_id from myorgs where organization_name = 'mmt')set @sql = 'select * from tablename where organization_id='+@organizationidset @sql = 'select * from openquery(betsycrp2, ''' + replace(@sql, '''', '''''') + ''')'exec(@sql)
其它类似信息

推荐信息