Skip Headers
Oracle® Database PL/SQL Language Reference
11g Release 2 (11.2)

Part Number E10472-05
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Master Index
Master Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

Block

The block, which groups related declarations and statements, is the basic unit of a PL/SQL source program. It has an optional declarative part, a required executable part, and an optional exception-handling part. Declarations are local to the block and cease to exist when the block completes execution. Blocks can be nested.

An anonymous block is an executable statement.

Topics:

Syntax

plsql_block ::=

plsql_block
Description of the illustration plsql_block.gif

See body ::=.

declare_section ::=

declare_section
Description of the illustration declare_section.gif

See item_list_2 ::=.

item_list_1 ::=

item_1_list
Description of the illustration item_list_1.gif

See:

item_list_2 ::=

item_2_list
Description of the illustration item_list_2.gif

See:

type_definition ::=

type_definition
Description of the illustration type_definition.gif

See:

subtype_definition ::=

subtype_definition
Description of the illustration subtype_definition.gif

item_declaration ::=

item_declaration
Description of the illustration item_declaration.gif

See:

pragma ::=

pragma
Description of the illustration pragma.gif

See:

body ::=

body
Description of the illustration basic_body.gif

See:

statement ::=

statement
Description of the illustration statement.gif

See:

procedure_call ::=

sql_statement
Description of the illustration procedure_call.gif

sql_statement ::=

sql_statement
Description of the illustration sql_statement.gif

Semantics

plsql_block

label

An undeclared identifier. If a block has multiple labels, they must be unique for that block.

DECLARE

Starts the declarative part of the block, which contains local declarations. Local declarations exist only in the current block and its sub-blocks and are not visible to enclosing blocks.

subtype_definition

subtype_name

The name of the user-defined subtype that you are defining. For information about user-defined subtypes, see "User-Defined PL/SQL Subtypes".

base_type

The base type of the subtype that you are defining. The base type can be either a predefined PL/SQL scalar data type (or subtype) or an existing user-defined subtype. For information about predefined scalar data types, see "Predefined PL/SQL Scalar Data Types and Subtypes". For information about user-defined subtypes, see "User-Defined PL/SQL Subtypes".

constraint

The constraint on the base type of the subtype that you are defining.

Restriction on constraint Do not specify constraint if the base type cannot specify either a maximum size or a precision and scale.

NOT NULL

Prevents the program from assigning the value NULL to constants and variables of the subtype.

If you declare a NOT NULL subtype, either by specifying NOT NULL or by specifying a subtype that is predefined as NOT NULL, you must also specify an initial value for the field (see expression).

body

BEGIN

Starts the executable part of the block, which contains executable statements.

EXCEPTION

Starts the exception-handling part of the block. When an exception is raised, normal execution of the block stops and control transfers to the appropriate exception_handler. After the exception handler completes, execution resumes with the statement following the block. For more information about exception-handling, see Chapter 11, "PL/SQL Error Handling."

exception_handler

See "Exception Handler".

END

Ends the block.

name

The name of the block to which END applies—a label, function_name, procedure_name, or package_name.

statement

label

An undeclared identifier. If a statement has multiple labels, they must be unique for that statement.

assignment_statement

See "Assignment Statement".

basic_loop_statement

See "Basic LOOP Statement".

case_statement

See "CASE Statement".

close_statement

See "CLOSE Statement".

collection_method_call

A call to one of these collection methods, which are procedures:

For syntax, see "Collection Method Call".

continue_statement

See "CONTINUE Statement".

cursor_for_loop_statement

See "Cursor FOR LOOP Statement".

execute_immediate_statement

See "EXECUTE IMMEDIATE Statement".

exit_statement

See "EXIT Statement".

fetch_statement

See "FETCH Statement".

for_loop_statement

See "FOR LOOP Statement".

forall_statement

See "FORALL Statement".

goto_statement

See "GOTO Statement".

if_statement

See "IF Statement".

null_statement

See "NULL Statement".

open_statement

See "OPEN Statement".

open_for_statement

See "OPEN FOR Statement".

raise_statement

See "RAISE Statement".

return_statement

See "RETURN Statement".

select_into_statement

PL/SQL SELECT INTO statement. For syntax, see "SELECT INTO Statement".

while_loop_statement

See "WHILE LOOP Statement".

procedure_call

procedure_name

The name of the procedure that you are calling.

( parameter [, parameter ]... )

List of actual parameters for the procedure that you are calling. The data type of each actual parameter must be compatible with the data type of the corresponding formal parameter (see Table 3-10, "Possible Implicit PL/SQL Data Type Conversions"). If the procedure specifies an initial value for a parameter, you can omit that parameter from the parameter list.

If the procedure has no parameters, or specifies an initial value for every parameter, you can either omit the parameter list or specify an empty parameter list.

sql_statement

commit_statement

SQL COMMIT statement. For syntax, see Oracle Database SQL Language Reference.

delete_statement

SQL DELETE statement. For syntax, see Oracle Database SQL Language Reference. See also "DELETE Statement Extension".

insert_statement

SQL INSERT statement. For syntax, see Oracle Database SQL Language Reference. See also "INSERT Statement Extension".

lock_table_statement

SQL LOCK TABLE statement. For syntax, see Oracle Database SQL Language Reference.

rollback_statement

SQL ROLLBACK statement. For syntax, see Oracle Database SQL Language Reference.

savepoint_statement

SQL SAVEPOINT statement. For syntax, see Oracle Database SQL Language Reference.

set_transaction_statement

SQL SET TRANSACTION statement. For syntax, see Oracle Database SQL Language Reference.

update_statement

SQL UPDATE statement. For syntax, see Oracle Database SQL Language Reference. See also "UPDATE Statement Extensions".

Examples

Related Topics

In this chapter:

In other chapters: