[<Block Header>]
[DECLARE
<constants>
<variables>
<Cursors>
<user defined exceptions>
]
BEGIN
<PL/SQL Statements>
[Exceptions <exception handlings>]
END;
BLOCK HEADER specifies whether the PL/SQL block is procedure, a function or a package. If no header is specified, the block is said to be an anonymous PL/SQL block.