SQL Server Native Client コマンドの構文
適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
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'