SQL Programming Manual for Pascal
Host Variables and Parameters
HP NonStop SQL Programming Manual for Pascal—528614-001
2-5
Declaring Host Variables
J_SMALL_U SMALLINT UNSIGNED NOT NULL,
K_INT_S INTEGER SIGNED NOT NULL,
L_INT_U INTEGER UNSIGNED NOT NULL,
M_LARGE_S LARGEINT SIGNED NOT NULL,
N_DEC_S DECIMAL (18,2) SIGNED NOT NULL,
O_DEC_U DECIMAL (9,2) UNSIGNED NOT NULL,
P_COB_P9 PIC 9(9) COMP NOT NULL,
Q_COB_PX PIC X(10) NOT NULL,
Z_LONG PIC XXXXXXXXXXXXXXXXXXXX NOT NULL,
A_DBL FLOAT (15) NOT NULL,
B_DBL FLOAT (30) NOT NULL,
C_DBL REAL NOT NULL,
D_DBL DOUBLE PRECISION NOT NULL,
A_DT_TIME DATETIME YEAR TO DAY NOT NULL,
B_DT_TIME DATE NOT NULL,
C_DT_TIME TIME NOT NULL,
D_DT_TIME TIMESTAMP NOT NULL,
E_DT_TIME INTERVAL MONTH (6) NOT NULL
)
CATALOG $VOL1.SUBV1
Sample INVOKE statement as it would appear in the program’s variable declarations:
EXEC SQL INVOKE PTABLE;
Generated type description in Pascal:
{* Record Definition for table \SYS1.$VOL.SUBV1.PTABLE *}
{* Definition current at 09:39:08 - 11/07/91 *}
type
ptable_type = record
a_char : fstring(10);
b_varchar : string(10);
c_num4_s : int16;
d_num4_u : cardinal;
e_num9_s : int32; {* scale is 2 *}
f_num9_u : int32; {* scale is 2 *}
g_num18_s : int64; {* scale is 2 *}
h_small_s : int16;
j_small_u : cardinal;
k_int_s : int32;
{* l_int_u: UNSIGNED INTEGER IS NOT SUPPORTED *}
m_large_s : int64;
n_dec_s : decimal(18); {* scale is 2 *}
o_dec_u : decimal(9); {* scale is 2 *}
p_cob_p9 : int32;
q_cob_px : fstring(10);
z_long : fstring(20);
a_dbl : real;
b_dbl : longreal;
c_dbl : real;
d_dbl : longreal;
a_dt_time : fstring(10);
b_dt_time : fstring(10);
c_dt_time : fstring(8);
d_dt_time : fstring(23);