assignment_statement ::= { collection_name [ (index) ] | cursor_variable_name | : host_cursor_variable_name | : host_variable_name [ :indicator_name ] | object_name [ .attribute_name ] | parameter_name | record_name [ .field_name ] | variable_name } := expression; plsql_block ::= [ << label_name >> ] [ DECLARE ] [ { type_definition | item_definition } [ type_definition | item_definition ] ... ] [ {function_declaration | procedure_declaration } [ function_declaration | procedure_declaration] ... ] BEGIN statement [statement ...] [ EXCEPTION exception_handler [exception_handler ...] ] END [ label_name ] ; type_definition ::= { record_type_definition | ref_cursor_type_definition | table_type_definition | subtype_definition | varray_type_definition } subtype_definition ::= subtype_definition ::= SUBTYPE subtype_name IS base_type [ (constraint) ] [ NOT NULL ];