What Is PL/SQL Block? Block Structure PL/SQL Block Syntax Types of PL/SQL Block
What Is PL/SQL Block? Block Structure PL/SQL Block Syntax Types of PL/SQL Block
In PL/SQL, the code is not executed in single line format, but it is always
executed by grouping the code into a single element called Blocks. In this
tutorial, you are going to learn about these blocks.
Blocks contain both PL/SQL as well as SQL instruction. All these instruction
will be executed as a whole rather than executing a single instruction at a
time.
Block Structure
PL/SQL blocks have a pre-defined structure in which the code is to be
grouped. Below are different sections of PL/SQL blocks.
1. Declaration section
2. Execution section
3. Exception-Handling section
The below picture illustrates the different PL/SQL block and their section
order.
5.4M
83
What is Linux Linux Beginner Tutorial
Declaration Section
This is the first section of the PL/SQL blocks. This section is an optional part.
This is the section in which the declaration of variables, cursors, exceptions,
subprograms, pragma instructions and collections that are needed in the block
will be declared. Below are few more characteristics of this part.
Execution Section
Execution part is the main and mandatory part which actually executes the
code that is written inside it. Since the PL/SQL expects the executable
statements from this block this cannot be an empty block, i.e., it should have
at least one valid executable code line in it. Below are few more
characteristics of this part.
Exception-Handling Section:
The exception is unavoidable in the program which occurs at run-time and to
handle this Oracle has provided an Exception-handling section in blocks. This
section can also contain PL/SQL statements. This is an optional section of the
PL/SQL blocks.
This is the section where the exception raised in the execution block is
handled.
This section is the last part of the PL/SQL block.
Control from this section can never return to the execution block.
This section starts with the keyword 'EXCEPTION'.
This section should always be followed by the keyword 'END'.
The Keyword 'END' marks the end of PL/SQL block.
DECLARE --optional
<declarations>
BEGIN --mandatory
<executable statements. At least one executable statement is mandatory>
EXCEPTION --optional
<exception handles>
END; --mandatory
/
Note: A block should always be followed by '/' which sends the information to
the compiler about the end of the block.
1. Anonymous blocks
2. Named Blocks
Anonymous blocks:
Anonymous blocks are PL/SQL blocks which do not have any names
assigned to them. They need to be created and used in the same session
because they will not be stored in the server as database objects.
Since they need not store in the database, they need no compilation steps.
They are written and executed directly, and compilation and execution happen
in a single process.
Below are few more characteristics of Anonymous blocks.
These blocks don't have any reference name specified for them.
These blocks start with the keyword 'DECLARE' or 'BEGIN'.
Since these blocks do not have any reference name, these cannot be
stored for later purpose. They shall be created and executed in the
same session.
They can call the other named blocks, but call to anonymous block is
not possible as it is not having any reference.
It can have nested block in it which can be named or anonymous. It can
also be nested in any blocks.
These blocks can have all three sections of the block, in which
execution section is mandatory, the other two sections are optional.
Named blocks:
Named blocks have a specific and unique name for them. They are stored as
the database objects in the server. Since they are available as database
objects, they can be referred to or used as long as it is present on the server.
The compilation process for named blocks happens separately while creating
them as a database objects.
1. Procedure
2. Function
We will learn more about these named blocks in "Procedure" and "Function"
topics in later tutorial.
Summary
After this tutorial, you should be aware of PL/SQL blocks and its types,
different sections of blocks and their usages. The detailed description of the
named PL/SQL blocks will be covered in the later tutorial.