Oracle9i SQL Reference Release 2 (9.2) Part Number A96540-02 |
|
|
View PDF |
The tables in the following sections provide a functional summary of SQL statements and are divided into these categories:
Data definition language (DDL) statements enable you to perform these tasks:
The CREATE
, ALTER
, and DROP
commands require exclusive access to the specified object. For example, an ALTER
TABLE
statement fails if another user has an open transaction on the specified table.
The GRANT
, REVOKE
, ANALYZE
, AUDIT
, and COMMENT
commands do not require exclusive access to the specified object. For example, you can analyze a table while other users are updating the table.
Oracle implicitly commits the current transaction before and after every DDL statement.
Many DDL statements may cause Oracle to recompile or reauthorize schema objects. For information on how Oracle recompiles and reauthorizes schema objects and the circumstances under which a DDL statement would cause this, see Oracle9i Database Concepts.
DDL statements are supported by PL/SQL with the use of the DBMS_SQL
package.
The DDL statements are:
ALTER
... (All statements beginning with ALTER)
ANALYZE
ASSOCIATE
STATISTICS
AUDIT
COMMENT
CREATE
... (All statements beginning with CREATE)
DISASSOCIATE
STATISTICS
DROP
... (All statements beginning with DROP)
GRANT
NOAUDIT
RENAME
REVOKE
TRUNCATE
Data manipulation language (DML) statements query and manipulate data in existing schema objects. These statements do not implicitly commit the current transaction. The data manipulation language statements are:
The CALL
and EXPLAIN
PLAN
statements are supported in PL/SQL only when executed dynamically. All other DML statements are fully supported in PL/SQL.
Transaction control statements manage changes made by DML statements. The transaction control statements are:
All transaction control statements, except certain forms of the COMMIT
and ROLLBACK
commands, are supported in PL/SQL. For information on the restrictions, see COMMIT and ROLLBACK.
Session control statements dynamically manage the properties of a user session. These statements do not implicitly commit the current transaction.
PL/SQL does not support session control statements. The session control statements are:
The single system control statement, ALTER
SYSTEM
, dynamically manages the properties of an Oracle instance. This statement does not implicitly commit the current transaction and is not supported in PL/SQL.
Embedded SQL statements place DDL, DML, and transaction control statements within a procedural language program. Embedded SQL is supported by the Oracle precompilers and is documented in the following books: