SQLServer如何将直接传递查询作为表使用

SQLServer如何将直接传递查询作为表使用,第1张

SQLServer如何将直接传递查询作为表使用,第2张

微软& regSQL Server & # 8482000将直接传递查询作为未解释的查询字符串发送到OLE DB数据源。查询必须使用OLE DB数据源可接受的语法。Transact-SQL语句使用查询结果的直接传递,就像常规表引用一样。

本示例使用直接传递查询从Microsoft Access版本的Northwind示例数据库中检索结果集。

以下是引号片段:
select *
from openrowset(' Microsoft。jet.oledb.4.0 ',
' c:\ north wind . MDB ';admin ';',
'SELECT CustomerID,company name
FROM Customers
WHERE Region = ' ' ' WA ' ')


有两种方法可以从OLE DB访问接口生成行集:

引用提供程序可以表示为表格行集的数据源中的对象。所有提供商都支持此功能。

向提供程序发出一个命令,该命令可以由提供程序进行处理,处理结果可以表示为一个行集。此功能要求提供程序支持OLE DB命令对象及其所有强制接口。

当提供程序支持Command对象时,这两个Transact-SQL函数可用于发送命令(称为直接传递查询):

OPENQUERY使用链接的服务器名称向OLE DB数据源发送命令字符串。

OPENROWSET和OPEBDATASOURCE支持向OLE DB数据源发送命令字符串。您可以使用特殊名称来引用结果行集。

OLE DB规范没有定义可由所有OLE DB提供程序使用的命令语言。OLE DB访问接口可以支持与所显示的数据相关的任何命令语言。表示关系数据库数据的OLE DB提供程序通常支持SQL语言。其他类型的提供程序,如在电子邮件文件或网络目录中表示数据的提供程序,通常支持另一种语言。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » SQLServer如何将直接传递查询作为表使用

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情