如何使用SQL SERVER的OpenQuery

如何使用SQL SERVER的OpenQuery

  • 一、OpenQuery使用说明
  • [二、 OpenQuery语法](#二、 OpenQuery语法)
    • [2.1 参数说明](#2.1 参数说明)
    • 2.2注解
  • 三、示例
    • [3.1 执行 SELECT 传递查询](#3.1 执行 SELECT 传递查询)
    • [3.2 执行 UPDATE 传递查询](#3.2 执行 UPDATE 传递查询)
    • [3.3 执行 INSERT传递查询](#3.3 执行 INSERT传递查询)
    • [3.4 执行 DELETE 传递查询](#3.4 执行 DELETE 传递查询)

一、OpenQuery使用说明

在指定的链接服务器上执行指定的传递查询。 该服务器是 OLE DB 数据源。 OPENQUERY 可以在查询的 FROM 子句中引用,就好象它是一个表名。 OPENQUERY 也可以作为 INSERT、UPDATE 或 DELETE 语句的目标表进行引用。 但这要取决于 OLE DB 访问接口的功能。 尽管查询可能返回多个结果集,但是 OPENQUERY 只返回第一个。

二、 OpenQuery语法

sql 复制代码
OPENQUERY ( linked_server ,'query' ) 

2.1 参数说明

linked_server

表示链接服务器名称的标识符。

如何配置链接可以参考我前面文档:SQL Server数据库如何添加mysql链接服务器(Windows系统)SQL Server数据库如何添加Oracle链接服务器(Windows系统)

' query '

在链接服务器中执行的查询字符串。 该字符串的最大长度为 8 KB。

2.2注解

OPENQUERY 不接受其参数的变量。

OPENQUERY 不能用于对链接服务器执行扩展存储过程。 但是,通过使用四部分名称,可以在链接服务器上执行扩展存储过程。 例如:

sql 复制代码
EXEC SeattleSales.master.dbo.xp_msver  

FROM 子句中对 OPENDATASOURCE、OPENQUERY 或 OPENROWSET 的任何调用与对用作更新目标的这些函数的任何调用都是分开独立计算的,即使为两个调用提供的参数相同也是如此。 具体而言,应用到上述任一调用的结果的筛选器或联接条件不会影响其他调用的结果。

三、示例

3.1 执行 SELECT 传递查询

以下示例使用 SELECT 传递查询选择示例 id = 1的数据

sql 复制代码
SELECT * FROM OPENQUERY(MySQLTest,'SELECT * FROM test_table WHERE id = ''1''')

3.2 执行 UPDATE 传递查询

以下示例针对示例 中创建的链接服务器名称为MySQLTest使用 UPDATE 传递查询。

我的环境执行的时候出现上面的报错,暂未找到原因

3.3 执行 INSERT传递查询

以下示例针对示例 中创建的链接服务器名称为MySQLTest使用 INSERT 传递查询。

3.4 执行 DELETE 传递查询

以下示例针对示例 中创建的链接服务器名称为MySQLTest使用 DELETE传递查询。

我的环境执行的时候出现上面的报错,暂未找到原因

相关推荐
航Hang*21 小时前
第3章:复习篇——第1节:创建和管理数据库
开发语言·数据库·笔记·sql·sqlserver
好记忆不如烂笔头abc21 小时前
oracle迁移到sqlserver的注意点
数据库·oracle·sqlserver
juma90025 天前
探索VSG并联:原理与实践
sqlserver
卓码软件测评7 天前
第三方数据库测试:【utPLSQL用于Oracle和tSQLt用于SQL Server数据库单元测试框架入门】
数据库·oracle·sqlserver·单元测试·mssql
一条咸鱼¥¥¥8 天前
【运维经验】使用QQ邮箱SMTP服务器设置ssms计划任务完成时邮件发送
运维·服务器·经验分享·sql·sqlserver
齐鲁大虾9 天前
SQL SERVER 2008 R2-开发版、企业版、标准版、免费版
sqlserver
江沉晚呤时10 天前
SQL Server 存储过程:从入门到精通
java·服务器·数据库·sqlserver
专注VB编程开发20年10 天前
最快速度取最新一条数据-Mysql,Sql server,access数据库
数据库·sql·mysql·oracle·sqlserver·access
杨云龙UP11 天前
SQL Server小技巧:用 SSMS 重置登录密码,不影响正在运行的系统
运维·服务器·数据库·sql·sqlserver
RestCloud11 天前
SQL Server到Oracle:不同事务机制下的数据一致性挑战
数据库·oracle·sqlserver·etl·cdc·数据处理·数据传输