DECLARE Variable [ ALLBASE/SQL Reference Manual ] MPE/iX 5.5 Documentation
ALLBASE/SQL Reference Manual
DECLARE Variable
The DECLARE Variable statement lets you define a local variable within a
procedure. Local variables are used only within the procedure.
Scope
Procedures only
SQL Syntax
DECLARE {LocalVariable} [,...] VariableType [LANG = VariableLangName]
[ {Constant }]
[DEFAULT {NULL }] [NOT NULL]
[ {CurrentFunction}]
Parameters
LocalVariable specifies the name of the local variable. A
variable name may not be the same as a parameter
name in the same procedure.
VariableType specifies the data type of the local variable.
All the ALLBASE/SQL data types are permitted
except LONG data types.
VariableLangName specifies the language of the data (for character
data types only) to be stored in the local
variable. This name must be either NATIVE-3000
or the current language of the DBEnvironment.
DEFAULT specifies the default value of the local
variable. The default can be a constant, NULL,
or a date/time current function. The data type
of the default value must be compatible with the
data type of the variable.
NOT NULL means the variable cannot contain null values.
If NOT NULL is specified, any statement that
attempts to place a null value in the variable is
rejected.
Description
* Declarations must appear at the beginning of the stored procedure
body, following the first BEGIN statement.
* No two local variables or parameters in a procedure may have the
same name.
* Local variable declarations may not be preceded by labels.
* If no DEFAULT clause is given for a column in the table, an
implicit DEFAULT NULL is assumed. Any INSERT statement, which
does not include a column for which a default has been declared,
causes the default value to be inserted into that column for all
rows inserted.
* For a CHAR column, if the specified default value is shorter in
length than the target column, it is padded with blanks. For a
CHAR or VARCHAR column, if the specified default value is longer
than the target column, it is truncated.
* For a BINARY column, if the specified default value is shorter in
length than the target column, it is padded with zeroes. For a
BINARY or VARBINARY column, if the specified default value is
longer than the target column, it is truncated.
Authorization
Anyone can use the DECLARE statement in a procedure.
Example
DECLARE input, output CHAR(80);
DECLARE nrows INTEGER;
DECLARE PartNumber CHAR(16) NOT NULL;
MPE/iX 5.5 Documentation