| ODBC Programmer's Reference |  |
Result-Generating and Result-Free Statements
SQL statements can be loosely divided into the following five categories:
- Result setgenerating statements. These are SQL statements that generate a result set. For example, a SELECT statement.
- Row countgenerating statements. These are SQL statements that generate a count of affected rows. For example, an UPDATE or DELETE statement.
- Data Definition Language (DDL) statements. These are SQL statements that modify the structure of the database. For example, CREATE TABLE or DROP INDEX.
- Context-changing statements. These are SQL statements that change the context of a database. For example, the USE and SET statements in SQL Server.
- Administrative statements. These are SQL statements used for administrative purposes in a database. For example, GRANT and REVOKE.
SQL statements in the first two categories are collectively known as result-generating statements. SQL statements in the latter three categories are collectively known as result-free statements. ODBC defines the semantics of batches that include only result-generating statements. These semantics vary widely and are therefore data sourcespecific. For example, the SQL Server driver does not support dropping an object and then referring to or re-creating the same object in the same batch. Therefore, the term batch as used in this manual refers only to batches of result-generating statements.