The PRAGMA Keyword
The PRAGMA keyword is used to signify that the remainder of the PL/SQL statement is a pragma, or directive, to the compiler. Pragmas are processed at compile time; they do not execute during runtime.
A pragma is a special instruction to the compiler. Also called a pseudoinstruction, the pragma doesn't change the meaning of a program. It simply passes information to the compiler. It is very similar, in fact, to the tuning hints you can embed in a SQL statement inside a block comment.
PL/SQL offers the following pragmas:
- EXCEPTION_INIT
- Tells the compiler to associate a particular error number with an identifier you have declared as an exception in your program. See Exception Handlers for more information.
- RESTRICT_REFERENCES
- Tells the compiler the purity level (freedom from side effects) of a packaged program. See Calling PL/SQL Functions in SQL for more information.
- SERIALLY_REUSABLE
- New to PL/SQL8. Tells the PL/SQL runtime engine that package-level data should not persist between references to that data. See Tuning PL/SQL Applications for more information.
The syntax for using the PRAGMA keyword is as follows:
PRAGMA <instruction>;
where <instruction> is a statement providing instructions to the compiler. You would call EXCEPTION_INIT as follows:
DECLARE no_such_sequence EXCEPTION; PRAGMA EXCEPTION_INIT (no_such_sequence, -2289); BEGIN ... END;