Table of Contents Previous Next


4 Stored Procedure Language : 4.3 Variable Declarations : 4.3.4 User-Defined Record Types and Record Variables

Records can be declared based upon a table definition using the %ROWTYPE attribute as shown in Section 4.3.3. This section describes how a new record structure can be defined that is not tied to any particular table definition.
The TYPE IS RECORD statement is used to create the definition of a record type. A record type is a definition of a record comprised of one or more identifiers and their corresponding data types. A record type cannot, by itself, be used to manipulate data.
The syntax for a TYPE IS RECORD statement is:
TYPE rec_type IS RECORD ( fields )
Where fields is a comma-separated list of one or more field definitions of the following form:
field_name data_type [NOT NULL][{:= | DEFAULT} default_value]
rec_type is an identifier assigned to the record type.
field_name is the identifier assigned to the field of the record type.
data_type specifies the data type of field_name.
DEFAULT default_value
The DEFAULT clause assigns a default data value for the corresponding field. The data type of the default expression must match the data type of the column. If no default is specified, then the default is NULL.
A record variable or simply put, a record, is an instance of a record type. A record is declared from a record type. The properties of the record such as its field names and types are inherited from the record type.
record is an identifier assigned to the record variable. rectype is the identifier of a previously defined record type. Once declared, a record can then be used to hold data.
record is a previously declared record variable and field is the identifier of a field belonging to the record type from which record is defined.
The emp_sal_query is again modified – this time using a user-defined record type and record variable.
Note that instead of specifying data type names, the %TYPE attribute can be used for the field data types in the record type definition.

4 Stored Procedure Language : 4.3 Variable Declarations : 4.3.4 User-Defined Record Types and Record Variables

Table of Contents Previous Next