PL/SQL is a block-structured language whose code is organized into blocks. A PL/SQL block consists of three sections: declaration, executable, and exception-handling sections. In a block, the executable section is mandatory while the declaration and exception-handling sections are optional.
A PL/SQL block has a name. Functions or Procedures is an example of a named block. A named block is stored into the Oracle Database server and can be reused later.
A block without a name is an anonymous block. An anonymous block is not saved in the Oracle Database server, so it is just for one-time use. However, PL/SQL anonymous blocks can be useful for testing purposes.
the structure of a PL/SQL block:
1 | declare |
1) Declaration section
A PL/SQL block has a declaration section where you declare variables, allocate memory for cursors, and define data types.
2) Executable section
A PL/SQL block has an executable section. An executable section starts with the keyword BEGIN
and ends with the keyword END
. The executable section must have a least one executable statement, even if it is the NULL
statement which does nothing.
3) Exception-handling section
A PL/SQL block has an exception-handling section that starts with the keyword EXCEPTION
. The exception-handling section is where you catch and handle exceptions raised by the code in the execution section.
Note a block itself is an executable statement, therefore you can nest a block within other blocks.
Example one:
1 | DECLARE |
Turn on the server output using the SET SERVEROUTPUT ON
command so that the DBMS_OUTPUT.PUT_LINE
procedure will display text on the screen.
Example two:
1 | DECLARE |
The error mesage is:
1 | ORA-01476: divisor is equal to zero |
Links:
https://www.oracletutorial.com/plsql-tutorial/plsql-anonymous-block/