November 2nd, 2009

Host Programs, PL/I

Posted by admin in S. Host Programs
Syntax Element      In PL/I
prefix              EXEC SQL
terminator          ;
target              label constant or
                    PL/I label variable
Variable Definition Syntax
PL/I variable definition =
    { DCL | DECLARE }
    { host identifier | (host identifier.,..) }
    type spec [ character representation...] ;
type spec =
    { { CHAR | CHARACTER } [VARYING] (length)
    [CHARACTER SET [IS] character set name] }
  | { BIT [VARYING] (length) }
  | { type fixed decimal ( precision [ , scale ] ) }
  | { type fixed binary [ ( precision ) ] }
  | { type fixed binary ( precision ) }
type fixed decimal =
    { DEC | DECIMAL } FIXED | FIXED { DEC | DECIMAL }
type fixed binary =
    { BIN | BINARY } FIXED | FIXED { BIN | BINARY }
type float binary =
    { BIN | BINARY } FLOAT | FLOAT { BIN | BINARY }
SQL Type                 PL/I Type
BIT(length)              BIT(length)
BIT VARYING(length)      BIT VARYING(length)
CHAR(length)             CHAR(length)
DECIMAL                  FIXED DECIMAL
  (precision, scale)       (precision, scale)
FLOAT(precision)         FLOAT BINARY(precision)
INTEGER                  FIXED BINARY
SMALLINT                 FIXED BINARY
VARCHAR(length)          CHAR VARCHAR(length)
SQLCODE                  FIXED BINARY (PP)
                         where PP = the
                         implementation defined
                         precision for SQLCODE.
SQLSTATE                 CHAR (5)
indicator                FIXED BINARY