HP 3000 Manuals

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