OPENQUERY (Transact-SQL),跨数据库操作。
2017-03-14 16:39
169 查看
在指定的链接服务器上执行指定的传递查询。 该服务器是 OLE DB 数据源。 OPENQUERY 可以在查询的 FROM 子句中引用,就好象它是一个表名。OPENQUERY 也可以作为 INSERT、UPDATE 或 DELETE 语句的目标表进行引用。 但这要取决于 OLE DB 访问接口的功能。 尽管查询可能返回多个结果集,但是 OPENQUERY 只返回第一个。
语法:
参数:
linked_server
表示链接服务器名称的标识符。
' query '
在链接服务器中执行的查询字符串。 该字符串的最大长度为 8 KB。
備註:
OPENQUERY 不接受其参数的变量。
OPENQUERY 不能用于对链接服务器执行扩展存储过程。 但是,通过使用四部分名称,可以在链接服务器上执行扩展存储过程。 例如:
FROM 子句中对 OPENDATASOURCE、OPENQUERY 或 OPENROWSET 的任何调用与对用作更新目标的这些函数的任何调用都是分开独立计算的,即使为两个调用提供的参数相同也是如此。 具体而言,应用到上述任一调用的结果的筛选器或联接条件不会影响其他调用的结果。
Permissions:
任何用户都可以执行 OPENQUERY。 用于连接到远程服务器的权限是从为链接服务器定义的设置中获取的。
示例:
A. 执行 UPDATE 传递查询,以下示例针对示例 A 中创建的链接服务器使用
B. 执行 INSERT 传递查询,以下示例针对示例 A 中创建的链接服务器使用 INSERT 传递查询。
C. 执行 DELETE 传递查询,以下示例使用 DELETE 传递查询删除示例 C 中插入的行。
语法:
OPENQUERY ( linked_server ,'query' )
参数:
linked_server
表示链接服务器名称的标识符。
' query '
在链接服务器中执行的查询字符串。 该字符串的最大长度为 8 KB。
備註:
OPENQUERY 不接受其参数的变量。
OPENQUERY 不能用于对链接服务器执行扩展存储过程。 但是,通过使用四部分名称,可以在链接服务器上执行扩展存储过程。 例如:
EXEC SeattleSales.master.dbo.xp_msver
FROM 子句中对 OPENDATASOURCE、OPENQUERY 或 OPENROWSET 的任何调用与对用作更新目标的这些函数的任何调用都是分开独立计算的,即使为两个调用提供的参数相同也是如此。 具体而言,应用到上述任一调用的结果的筛选器或联接条件不会影响其他调用的结果。
Permissions:
任何用户都可以执行 OPENQUERY。 用于连接到远程服务器的权限是从为链接服务器定义的设置中获取的。
示例:
A. 执行 UPDATE 传递查询,以下示例针对示例 A 中创建的链接服务器使用
UPDATE传递查询。
UPDATE OPENQUERY (OracleSvr, 'SELECT name FROM joe.titles WHERE id = 101') SET name = 'ADifferentName';
B. 执行 INSERT 传递查询,以下示例针对示例 A 中创建的链接服务器使用 INSERT 传递查询。
INSERT OPENQUERY (OracleSvr, 'SELECT name FROM joe.titles') VALUES ('NewTitle');
C. 执行 DELETE 传递查询,以下示例使用 DELETE 传递查询删除示例 C 中插入的行。
DELETE OPENQUERY (OracleSvr, 'SELECT name FROM joe.titles WHERE name = ''NewTitle''');
相关文章推荐
- 在asp.net中操作sql-server数据库的一些小技巧
- 用SQL语句操作数据库表格
- 如何使用 Visual Studio .NET 工具创建数据库对象和 Transact-SQL 存储过程。
- Asp+Sql 对数据库的各种操作
- SQLXML初体验:用XML代替T-SQL来操作数据库
- 在asp.net中操作sql-server数据库的一些小技巧
- [网络问题,截图以后再传]本实验是设计性实验。目的在于使用关系数据库标准语言SQL,掌握视图和索引的操作。
- 数据库sql操作基本命令集锦
- 数据库操作的封装类 Access\FoxPro\SQLServer\Oracle
- XML代替SQL来操作数据库
- SQL Tips:大数据量下的数据库日期操作问题
- 数据库操作封装--SqlDataAdapter.fill
- 数据库操作中(T-SQL)经常会用到命令及使用方法
- 操作 SQL Server Mobile 2005 数据库的常用 C# 代码 (转自黎波)
- 操作 SQL Server Mobile 2005 数据库的常用 C# 代码
- 跨数据库的SQL操作
- c 语言中数据库操作:(嵌入SQL)
- 在SQL Server 2000中使用Transact-SQL建立数据库
- SQL Server Mobile 学习(二):通过 VS2005 创建和连接及操作 SQL Server Mobile 数据库
- 转载:--通过 VS2005 创建和连接及操作 SQL Server Mobile 数据库(2)