The following list describes the variable declaration syntax that
the SQL precompiler supports in PL/I:
o Declarations
Declarations can include only the following PL/I data types:
- CHARACTER
CHARACTER can be abbreviated as CHAR.
- CHARACTER VARYING
CHARACTER VARYING can be abbreviated as CHAR VAR.
- Date-time data types (Precompiler Date-Time Data Mapping
lists these data types.)
- TINYINT
TINYINT is FIXED BINARY(7).
- FIXED BINARY, FIXED DECIMAL
BINARY can be abbreviated as BIN, and DECIMAL can be
abbreviated as DEC. Scale factors are not allowed on FIXED
BINARY declarations.
- FLOAT BINARY, FLOAT DECIMAL
- SQL_DATE, SQL_DATE_ANSI, SQL_DATE_VMS
- SQL_TIME, SQL_TIMESTAMP
- SQL_INTERVAL (DAY TO SECOND)
Use this data type for variables that represent the
difference between two dates or times. (Precompiler Date-
Time Data Mapping lists all the supported INTERVAL data
types.)
- DECIMAL data type is converted to FIXED
- NUMERIC data type is converted to PACKED
o Storage class attributes
Any of the storage class attributes (BASED, AUTOMATIC,
DEFINED, STATIC, variable, EXTERNAL, and INTERNAL) is allowed.
The BASED attribute declarations must include a location
reference.
o INITIAL attribute
o Structures
Structures are allowed without restriction.
o Arrays
Arrays are permitted only for declarations of indicator
arrays. Although you can use any data type for indicator
array elements, Oracle Rdb recommends that you declare them
as INTEGER variables.
Multidimension array items are not supported. Arrays of
structures are not supported. Arrays that are in a group that
is itself an array are not supported. Dynamic-sized arrays are
not supported.