A PL/SQL block can contain a sub-block which can be placed in any section. The following describes the architecture of a PL/SQL block:
DECLARE
This part is optional if no variable needs to be declared.
BEGIN
EXCEPTION
END; /
You are not allowed to use consecutive tabs in the PL/SQL block, because they may result in an exception when the parameter -r is executed using the gsql tool.
PL/SQL blocks are classified into the following types:
An anonymous block applies to a script infrequently executed or a one-off activity. An anonymous block is executed in a session and is not stored.
Syntax
Figure 1 shows the syntax diagrams for an anonymous block.
Details about the syntax diagram are as follows:
The terminator "/" must be written in an independent row.
Examples
The following lists basic anonymous block programs:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | -- Null statement block: BEGIN NULL; END; / -- Print information to the console: BEGIN dbms_output.put_line('hello world!'); END; / -- Print variable contents to the console: DECLARE my_var VARCHAR2(30); BEGIN my_var :='world'; dbms_output.put_line('hello'||my_var); END; / |
A subprogram stores stored procedures, functions, operators, and advanced packages. A subprogram created in a database can be called by other programs.