コマンドの構文
適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
OLE DB Driver for SQL Server は、DBGUID_SQL マクロで指定されたコマンド構文を認識します。 OLE DB Driver for SQL Server のために、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
OLE DB Driver for SQL Server では、どちらの形式のステートメントも、コマンドのテキストとして指定された際には、正常に処理されます。
ストアド プロシージャ
OLE DB Driver for SQL Server のコマンドを使用して SQL Server のストアド プロシージャを実行する場合は、コマンド テキストに ODBC CALL エスケープ シーケンスを使用します。 この操作を行うと、OLE DB Driver for SQL Server では、SQL Server のリモート プロシージャ コールのメカニズムを使用して、コマンド処理が最適化されます。 たとえば次のような場合、Transact-SQL ステートメント形式ではなく、ODBC SQL ステートメントをコマンド テキストとして使用することをお勧めします。
ODBC SQL
{call SalesByCategory('Produce', '1995')}
Transact-SQL
EXECUTE SalesByCategory 'Produce', '1995'