title | description | author | ms.author | ms.date | ms.service | ms.subservice | ms.topic | helpviewer_keywords | ||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Command syntax (OLE DB driver) |
Learn about command syntax that the OLE DB Driver for SQL Server recognizes and how to run a SQL Server stored procedure. |
David-Engel |
davidengel |
04/20/2021 |
sql |
connectivity |
reference |
|
[!INCLUDE SQL Server]
[!INCLUDEDriver_OLEDB_Download]
The OLE DB Driver for SQL Server recognizes command syntax specified by the DBGUID_SQL macro. For the OLE DB Driver for SQL Server, the specifier indicates that an amalgam of ODBC SQL, ISO, and [!INCLUDEtsql] is valid syntax. For example, the following SQL statement uses an ODBC SQL escape sequence to specify the LCASE string function:
SELECT customerid={fn LCASE(CustomerID)} FROM Customers
LCASE
returns a character string, converting all uppercase characters to their lowercase equivalents. The ISO string function LOWER does the same operation, so the following SQL statement is an ISO equivalent to the ODBC statement above:
SELECT customerid=LOWER(CustomerID) FROM Customers
The OLE DB Driver for SQL Server processes either form of the statement successfully when specified as text for a command.
When executing a [!INCLUDEssNoVersion] stored procedure using an OLE DB Driver for SQL Server command, use the ODBC CALL escape sequence in the command text. The OLE DB Driver for SQL Server then uses the remote procedure call mechanism of [!INCLUDEssNoVersion] to optimize command processing. For example, the following ODBC SQL statement is preferred command text over the [!INCLUDEtsql] form:
-
ODBC SQL
{call SalesByCategory('Produce', '1995')}
-
Transact-SQL
EXECUTE SalesByCategory 'Produce', '1995'