Result-Generating and Result-Free Statements
SQL statements can be loosely divided into the following five categories:
-
Result set – generating statements. These are SQL statements that generate a result set. For example, a SELECT statement.
-
Row count – generating 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 source – specific. 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. Thus, the term batch as used in this manual refers only to batches of result-generating statements.