ODBC applications perform almost all of their database access by executing SQL statements. The form of these statements depends on the needs of the application. SQL statements can be constructed in the following ways:
Static statements performed by an application as a fixed task.
SQL statements constructed at run time that enable the user to tailor the statement by using common clauses, such as SELECT, WHERE, and ORDER BY. This includes ad hoc queries entered by users.
The Microsoft® SQL Server™ ODBC driver parses SQL statements only for ODBC and SQL-92 syntax not directly supported by the database engine, which the driver transforms into Transact-SQL. All other SQL syntax is passed to the database engine unchanged, where SQL Server will determine if it is valid Transact-SQL. This approach yields two benefits:
Processing overhead for the driver is minimized because it only has to scan for a small set of ODBC and SQL-92 clauses.
Programmers can tailor the portability of their application. To enhance portability against multiple databases, use primarily ODBC and SQL-92 syntax. To use enhancements specific to SQL Server, use the appropriate Transact-SQL syntax. The SQL Server ODBC driver supports the complete Transact-SQL syntax so ODBC-based applications can take advantage of all the features in SQL Server.
The column list in a SELECT statement should contain only the columns needed to perform the task at hand. Not only does this reduce the amount of data sent across the network, it also reduces the effect of database changes on the application. If an application does not reference a column from a table, then the application is not affected by any changes made to that column.
To use statements