Oracle® Database PL/SQL Language Reference 11g Release 2 (11.2) Part Number E10472-05 |
|
|
View PDF |
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 ::=
See body ::=.
declare_section ::=
See item_list_2 ::=.
item_list_1 ::=
See:
item_list_2 ::=
See:
type_definition ::=
See:
subtype_definition ::=
item_declaration ::=
See:
pragma ::=
See:
body ::=
See:
statement ::=
See:
procedure_call ::=
sql_statement ::=
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
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:
DELETE
EXTEND
TRIM
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
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:
See links in "Semantics".
In other chapters: