次の方法で共有


コマンドの構文

SQL Server Native Client OLE DB プロバイダは、DBGUID_SQL マクロで指定されたコマンド構文を認識します。SQL Server Native Client OLE DB プロバイダのために、ODBC SQL、ISO、および Transact-SQL ステートメントの混在する構文が有効な構文であることを指定子で示すことができます。たとえば、次の SQL ステートメントでは、ODBC SQL のエスケープ シーケンスを使用して、LCASE 文字列関数を指定しています。

SELECT customerid={fn LCASE(CustomerID)} FROM Customers

LCASE 関数は、大文字をすべて小文字に変換した文字列を返します。ISO の文字列関数 LOWER も同じ操作を実行します。つまり、次の SQL ステートメントは、上記の ODBC ステートメントと同義の ISO ステートメントになります。

SELECT customerid=LOWER(CustomerID) FROM Customers

SQL Server Native Client OLE DB プロバイダでは、どちらの形式のステートメントも、コマンドのテキストとして指定された際には、正常に処理されます。

ストアド プロシージャ

SQL Server Native Client OLE DB プロバイダのコマンドを使用して SQL Server ストアド プロシージャを実行するときには、コマンド テキストで ODBC CALL エスケープ シーケンスを使用します。この操作を行うと、SQL Server Native Client OLE DB プロバイダでは、SQL Server のリモート プロシージャ コールのメカニズムを使用して、コマンド処理が最適化されます。たとえば次のような場合、Transact-SQL ステートメント形式ではなく、ODBC SQL ステートメントをコマンド テキストとして使用することをお勧めします。

  • ODBC SQL

    {call SalesByCategory('Produce', '1995')}
    
  • Transact-SQL

    EXECUTE SalesByCategory 'Produce', '1995'
    

関連項目

概念