This chapter explains how to use the SQL statements that create, change, and drop stored PL/SQL units.
For instructions for reading the syntax diagrams in this chapter, see Oracle Database SQL Language Reference.
CREATE [OR REPLACE] Statements
Each of these SQL statements creates a PL/SQL unit at schema level and stores it in the database:
Each of these CREATE
statements has an optional OR
REPLACE
clause. Specify OR
REPLACE
to re-create an existing PL/SQL unit—that is, to change its declaration or definition without dropping it, re-creating it, and regranting object privileges previously granted on it. If you redefine a PL/SQL unit, the database recompiles it.
Caution:
ACREATE
OR
REPLACE
statement does not issue a warning before replacing the existing PL/SQL unit.None of these CREATE
statements can appear in a PL/SQL block.
To recompile an existing PL/SQL unit without re-creating it (without changing its declaration or definition), use one of these SQL statements:
Reasons to use an ALTER
statement are:
To explicitly recompile a stored unit that has become invalid, thus eliminating the need for implicit runtime recompilation and preventing associated runtime compilation errors and performance overhead.
To recompile a unit with different compilation parameters.
For information about compilation parameters, see "PL/SQL Units and Compilation Parameters".
To enable or disable a trigger.
The ALTER
TYPE
statement has additional uses. For details, see "ALTER TYPE Statement".
To drop an existing PL/SQL unit from the database, use one of these SQL statements: