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 のリモート プロシージャ コール メカニズムを使用して、コマンド処理を最適化します。 たとえば、次の ODBC SQL ステートメントは、Transact-SQL 形式よりも優先されるコマンド テキストです。
ODBC SQL
{call SalesByCategory('Produce', '1995')}
Transact-SQL
EXECUTE SalesByCategory 'Produce', '1995'