OpenQuery实践基础教程

日期: 2009-10-08 作者:godwar 来源:TechTarget中国 英文

  一、OPENQUERY 函数介绍

  重点:

  .使用 OPENQUERY 函数在链接服务器上执行直接传递查询的语法和事实;

  .直接传递查询示例的 SQL 语句:在链接服务器 XXXServer 上执行 SELECT 语句,并从传递回来的结果集中取出所有内容;

  执行直接传递查询

  当查询链接服务器的时候,可以使用 OPENQUERY 函数在链接服务器上执行直接传递查询

  语法:OPENQUERY (链接服务器名称, ‘查询字符串’)

  使用 OPENQUERY 函数进行直接传递查询

  可以在 SELECT 语句中用 OPENQUERY 函数的结果代替表名的位置

  若 OLE DB 提供程序支持,还可以用 OPENQUERY 函数的结果作为 INSERT、UPDATE 或 DELETE 语句的目标表

  直接传递查询示例

  SELECT * FROM OPENQUERY (XXXServer, ‘SELECT ProductID, Royalty FROM Northwind.dbo.ProductInfo’)

  二、查詢、新增、更新、刪除

  假设在第一步的设置里“链接服务器名”里填入的是“TEST”,查询、写入、更新及删除以表tableName为例用如下语句

  查询:SELECT * FROM OPENQUERY(TEST, ‘SELECT * FROM tableName’)

  写入:INSERT INTO OPENQUERY(TEST, ‘SELECT * FROM tableName WHERE 1>1′) VALUES(3,6,’ANDY’)

  更新:UPDATE OPENQUERY(TEST, ‘SELECT * FROM tableName’) SET role_id = ‘ForTest’ WHERE id = 3

  删除:DELETE OPENQUERY(TEST, ‘SELECT * FROM tableName’) WHERE id IN (1,3)

  以上语句在查询分析器里执行通过。

  这里最关键的是使用SQL的函数OPENQUERY,查询、写入、更新及删除的目标表都用OPENQUERY函数来打开Oracle的表就可以了,有关OPENQUERY函数的说明,SQL Server的帮助文档里如下:

  OPENQUERY

  在给定的链接服务器(一个 OLE DB 数据源)上执行指定的直接传递查询。可以在查询的 FROM 子句中像引用表名那样引用 OPENQUERY 函数。依据 OLE DB 提供程序的能力,还可以将 OPENQUERY 函数引用为 INSERT、UPDATE 或 DELETE 语句的目标表。尽管查询可能返回多个结果集,但是 OPENQUERY 只返回第一个。

  语法

  OPENQUERY ( linked_server , ‘query’ )

  参数

  linked_server

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

  ’query’

  在链接的服务器中执行的查询字符串。

  注释

  OPENQUERY 不接受参数变量。

  三、OPENQUERY 的日期时间条件式

  不建议使用:select * from openquery(linked_server ,’select * from kxx_file ‘) where kxx07=’2009-10-08’

  该语句查询耗时18s;很明显RETURN的数据相当大,再进行筛选;

  建议使用:select * from openquery(linked_server ,’select * from kxx_file where kxx07={ ts ”2009-10-08 00:00:00.000”} ‘)

  该语句查询耗时3s;在linked_server执行完筛选才RETURN的,TABLE的数据量越大效果越明显;

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

godwar
godwar

相关推荐