Skip to content

Host Variables

Host Variables#

Host variables are first declared and then used. Host variables are useful when executing procedures or functions.

Declaring a Host Variable#

Syntax#

VAR[IABLE] var_name[INPUT|OUTPUT|INOUTPUT] var_type

The default value is automatically given unless INPUT, OUTPUT or INOUTPUT is specified.

Type#

The following types can be used when declaring variables:

INTEGER, BYTE(n), NIBBLE(n),
NUMBER, NUMBER(n), NUMBER(n,m),
NUMERIC, NUMERIC(n), NUMERIC(n,m),
CHAR(n), VARCHAR(n), NCHAR(n), NVARCHAR(n), DATE
DECIMAL, DECIMAL(n), DECIMAL(n,m),
FLOAT, FLOAT(n), DOUBLE, REAL
BIGINT, SMALLINT

Example#

The following examples demonstrate how to declare variables:

iSQL> VAR p1 INTEGER
iSQL> VAR p2 CHAR(10)
iSQL> VAR v_double DOUBLE
iSQL> VAR v_real REAL

Assigning a Value to a Host Variable#

Syntax#

EXEC[UTE] :var_name := value;

Example#

The following example shows how to assign a value to a variable:

iSQL> EXECUTE :p1 := 100;
Execute success
iSQL> EXEC :p2 := 'abc';
Execute success

Viewing Host Variables#

Syntax#

PRINT VAR[IABLE]

Shows all declared variables.

PRINT var_name

Shows the type and value of the variable var_name.

Example#

The following shows the values of all declared variable:

iSQL> PRINT VAR
[ HOST VARIABLE ]
-------------------------------------------------------
NAME                 TYPE                 VALUE
-------------------------------------------------------
P1                   INTEGER              100
P2                   CHAR(10)             abc
V_REAL               REAL                
V_DOUBLE             DOUBLE
iSQL> PRINT p2  -- Outputs only variable p2 information.
NAME                TYPE                   VALUE
-------------------------------------------
P2                  CHAR ( 10 )            abc