INITIALIZE
The INITIALIZE
instruction initializes program variables with
NULL
or default values.
Syntax
INITIALIZE target [
,...]
{
TO NULL
|
LIKE {
table.*|
table.column}
}
- target is the name of the variable to be initialized.
- table.column can be any column reference defined in the database schema file.
Usage
The INITIALIZE
instruction
assigns NULL
or default values to variables.
The argument of the INITIALIZE
instruction can be a simple variable, a record
(with or without .*
notation), a record member, a range of record members specified
with the THRU
keyword. It is also
possible to initialize arrays and dictionaries.
The
TO NULL
clause initializes the specified variables to null, or clears a
variable defined with a collection type:- With a variable defined with a primitive type, the
variable is set to
NULL
. - With a record variable, all members are initalized
individually to
NULL
. If the record contains sub-records, these will also be initialized. - With a static array
TO NULL
, all elements will be initialized to null. - With a dynamic array
TO NULL
, all elements will be removed. - With a dictionary
TO NULL
, all elements will be removed.
The LIKE
clause initializes the variable to the default value defined in the
database schema validation file. This clause works
only by specifying the table.column schema entry corresponding to the
variable.
To initialize a complete
RECORD
, use the star to reference all
members:INITIALIZE record.* LIKE table.*
Variables defined with a complex data type (like TEXT
or BYTE
) cannot by initialized to a non-NULL value.
Example
SCHEMA stores
MAIN
DEFINE cr RECORD LIKE customer.*
DEFINE a1 ARRAY[100] OF INTEGER
INITIALIZE cr.cust_name TO NULL
INITIALIZE cr.cust_name THRU cr.cust_address TO NULL
INITIALIZE cr.* LIKE customer.*
INITIALIZE a1 TO NULL
INITIALIZE a1[10] TO NULL
END MAIN