スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド
SQLのデータ型とC言語のデータ記述の対応を示します。
なお,データの受け渡しには,対応するデータ型以外に,変換,又は代入できるデータ型も使用できます。
SQLのデータ型とC言語のデータ記述を次の表に示します。
表F-1 SQLのデータ型とC言語のデータ記述
SQLのデータ型 | C言語のデータ記述 | 備 考 | |
---|---|---|---|
SMALLINT | short 変数名; | ||
INTEGER | long 変数名; | ||
DECIMAL [(p[,s])] |
SQL TYPE IS DECIMAL(p,s) 変数名;※5 |
1≦p≦38,0≦s≦p | |
SMALLFLT,REAL | float 変数名; | ||
FLOAT(DOUBLE PRECISION) | double 変数名; | ||
CHAR[(n)] [CHARACTER SET 文字集合指定] |
char [CHARACTER SET[IS] 文字集合指定] 変数名[n+1];※1 |
1≦n≦30000 文字集合指定:[MASTER.]EBCDIK |
|
CHAR[(2n)] CHARACTER SET 文字集合指定 |
char CHARACTER SET[IS] 文字集合指定 変数名[2n+2]; |
1≦n≦15000 文字集合指定:[MASTER.]UTF16 |
|
SQL TYPE IS CHAR(2n) CHARACTER SET[IS] 文字集合指定 変数名;※10 |
|||
VARCHAR(n) [CHARACTER SET 文字集合指定] |
struct { short 変数名1; char 変数名2[n]; }[CHARACTER SET[IS] 文字集合指定] 構造体名; |
1≦n≦32000 変数名1:文字列長(バイト数) 変数名2:文字列 文字集合指定:[MASTER.]EBCDIK |
|
SQL TYPE IS VARCHAR(n) [CHARACTER SET[IS] 文字集合指定] 変数名;※6 |
|||
VARCHAR [CHARACTER SET[IS] 文字集合指定] 変数名[n+1];※9 |
|||
VARCHAR(2n) CHARACTER SET 文字集合指定 |
struct { short 変数名1; char 変数名2[2n]; } CHARACTER SET[IS] 文字集合指定 構造体名; |
1≦n≦16000 変数名1:文字列長 変数名2:文字列 文字列長: バイト数で,2の倍数 文字集合指定:[MASTER.]UTF16 |
|
SQL TYPE IS VARCHAR(2n) CHARACTER SET[IS] 文字集合指定 変数名;※11 |
|||
VARCHAR CHARACTER SET[IS] 文字集合指定 変数名[2n+2];※10 |
|||
NCHAR[(n)] | char 変数名[2n+1];※1 | 1≦n≦15000 | |
NVARCHAR(n) | struct { short 変数名1; char 変数名2[2n]; }構造体名; |
1≦n≦16000 変数名1:文字列長(文字数) 変数名2:文字列 |
|
SQL TYPE IS NVARCHAR(n) 変数名;※6 |
|||
MCHAR[(n)] | char 変数名[n+1];※1 | 1≦n≦30000 | |
MVARCHAR(n) | struct{ short 変数名1; char 変数名2[n]; }構造体名; |
1≦n≦32000 変数名1:文字列長(バイト数) 変数名2:文字列 |
|
SQL TYPE IS MVARCHAR(n) 変数名;※6 |
|||
DATE | char 変数名[11];※2 | ||
TIME | char 変数名[9];※2 | ||
INTERVAL YEAR TO DAY | SQL TYPE IS DECIMAL(8,0) 変数名;※5 |
||
INTERVAL HOUR TO SECOND | SQL TYPE IS DECIMAL(6,0) 変数名;※5 |
||
TIMESTAMP[(p)] | char 変数名[n+1];※2 | p=0の場合はn=19 p=2の場合はn=21,22 p=4の場合はn=23,24 p=6の場合はn=25,26 |
|
ROW※3 | char 変数名[n+1]; | 1≦全体長≦30000 | |
BLOB | SQL TYPE IS BLOB(n{K|M|G}) 変数名;※4 |
単位省略時: 1≦n≦2147483647 単位がK: 1≦n≦2097152 単位がM: 1≦n≦2048 単位がG: 1≦n≦2 |
|
BINARY(n) | struct { long 変数名1; char 変数名2[n]; } 構造体名; |
1≦n≦2147483647 変数名1:文字列長(バイト数) 変数名2:文字列 |
|
SQL TYPE IS BINARY(n) 変数名;※7 |
|||
BLOB位置付け子 | SQL TYPE IS BLOB AS LOCATOR 変数名;※8 |
||
BINARY位置付け子 | SQL TYPE IS BINARY AS LOCATOR 変数名;※8 |
||
標識変数 | BLOB,BINARY,BLOB位置付け子,BINARY位置付け子以外 | short 変数名; | |
BLOB,BINARY,BLOB位置付け子,BINARY位置付け子 | long 変数名; | ||
SQL文 | struct { long 変数名1; char 変数名2[n]; }構造体名; |
1≦n≦2000000 変数名1:文字列長(バイト数) 変数名2:文字列 |
struct{ long 変数名_reserved; … 1 unsigned long 変数名_length; … 2 char 変数名_data[m]; … 3 }変数名
unsigned char 変数名[↓p/2↓+1];
符号の16進数表現 | 意 味 |
---|---|
X'C' | 正の符号とみなします。正数には0を含みます。 |
X'D' | 負の符号とみなします。 |
struct{ short len; char str[n]; }変数名
struct{ long len; char str[n]; }変数名
unsigned long 変数名;
char 変数名[n+1];
<プリプロセサの-XU16オプションで型指定子を指定しなかった場合> char 変数名[2n+2]; <プリプロセサの-XU16オプションで型指定子を指定した場合> 型指定子 変数名[n+1];
<プリプロセサの-XU16オプションで型指定子を指定しなかった場合> struct{ short len; char str[2n]; } 変数名; <プリプロセサの-XU16オプションで型指定子を指定した場合> struct{ short len; 型指定子 str[n]; } 変数名;
配列を使用した場合のSQLのデータ型とC言語のデータ記述を次の表に示します。
表F-2 配列を使用した場合のSQLのデータ型とC言語のデータ記述
SQLのデータ型 | C言語のデータ記述 | 備 考 | |
---|---|---|---|
SMALLINT | short 変数名[m]; | ||
INTEGER | long 変数名[m]; | ||
DECIMAL[(p[,s])] | SQL TYPE IS DECIMAL(p,s) 変数名[m]; |
1≦p≦38,0≦s≦p | |
SMALLFLT, REAL |
float 変数名[m]; | ||
FLOAT (DOUBLE PRECISION) |
double 変数名[m]; | ||
CHAR[(n)] [CHARACTER SET 文字集合指定] |
char [CHARACTER SET[IS] 文字集合指定] 変数名[m][n+1]; |
1≦n≦30000 文字集合指定:[MASTER.]EBCDIK |
|
CHAR[(2n)] CHARACTER SET 文字集合指定 |
char CHARACTER SET[IS] 文字集合指定 変数名[m][2n+2]; |
1≦n≦15000 文字集合指定:[MASTER.]UTF16 |
|
SQL TYPE IS CHAR(2n) CHARACTER SET[IS] 文字集合指定 変数名[m]; |
|||
VARCHAR(n) [CHARACTER SET 文字集合指定] |
struct { short 変数名1; char 変数名2[n]; }[CHARACTER SET[IS] 文字集合指定] 構造体名[m]; |
1≦n≦32000 文字集合指定:[MASTER.]EBCDIK |
|
SQL TYPE IS VARCHAR(n) [CHARACTER SET[IS] 文字集合指定] 変数名[m]; |
|||
VARCHAR [CHARACTER SET[IS] 文字集合指定] 変数名[m][n+1]; |
|||
VARCHAR(2n) CHARACTER SET 文字集合指定 |
struct { short 変数名1; char 変数名2[2n]; } CHARACTER SET[IS] 文字集合指定 構造体名[m]; |
1≦n≦16000 変数名1:文字列長 変数名2:文字列 文字列長: バイト数で,2の倍数 文字集合指定: [MASTER.]UTF16 |
|
SQL TYPE IS VARCHAR(n) CHARACTER SET[IS] 文字集合指定 変数名[m]; |
|||
VARCHAR CHARACTER SET[IS] 文字集合指定 変数名[m][2n+2] |
|||
NCHAR[(n)] | char 変数名[m][2n+1]; | 1≦n≦15000 | |
NVARCHAR(n) | struct { short 変数名1; char 変数名2[2n]; }構造体名[m]; |
1≦n≦16000 | |
SQL TYPE IS NVARCHAR(n) 変数名[m]; |
|||
MCHAR[(n)] | char 変数名[m][n+1]; | 1≦n≦30000 | |
MVARCHAR(n) | struct{ short 変数名1; char 変数名2[n]; }構造体名[m]; |
1≦n≦32000 | |
SQL TYPE IS MVARCHAR(n) 変数名[m]; |
|||
DATE | char 変数名[m][11]; | ||
TIME | char 変数名[m][9]; | ||
TIMESTAMP[(p)] | char 変数名[m][n+1]; | p=0の場合はn=19 p=2の場合はn=21,22 p=4の場合はn=23,24 p=6の場合はn=25,26 |
|
INTERVAL YEAR TO DAY |
SQL TYPE IS DECIMAL(8,0) 変数名[m]; |
||
INTERVAL HOUR TO SECOND | SQL TYPE IS DECIMAL(6,0) 変数名[m]; |
||
ROW | char 変数名[m][n+1]; | 1≦n≦30000 | |
BLOB | − | ||
BINARY | struct { long 変数名1; char 変数名2[n]; } 構造体名[m]; |
|
|
SQL TYPE IS BINARY(n) 変数名[m]; |
|||
BLOB位置付け子 | − | ||
BINARY位置付け子 | SQL TYPE IS BINARY AS LOCATOR 変数名[m]; |
||
標識変数 | BINARY,BINARY位置付け子以外 | short 変数名[m]; | |
BINARY,BINARY位置付け子 | long 変数名[m]; | ||
SQL文 | − |
繰返し列を使用した場合のSQLのデータ型とC言語のデータ記述を次の表に示します。
表F-3 繰返し列を使用した場合のSQLのデータ型とC言語のデータ記述
SQLのデータ型 | C言語のデータ記述 | 備 考 |
---|---|---|
SMALLINT | PD_MV_SINT(m) 変数名; | |
INTEGER | PD_MV_INT(m) 変数名; | |
DECIMAL | PD_MV_DEC(m,p,s) 変数名; | 1≦p≦38,0≦s≦p |
SMALLFLT, REAL |
PD_MV_SFLT(m) 変数名; | |
FLOAT (DOUBLE PRECISION) |
PD_MV_FLT(m) 変数名; | |
CHAR[(n)] | PD_MV_CHAR(m,n) 変数名; | 1≦n≦30000 |
VARCHAR(n) | PD_MV_VCHAR(m,n) 変数名; | 1≦n≦32000 |
PD_MV_CVCHAR(m,n) 変数名; | ||
NCHAR[(n)] | PD_MV_NCHAR(m,n) 変数名; | 1≦n≦15000 |
NVARCHAR(n) | PD_MV_NVCHAR(m,n) 変数名; | 1≦n≦16000 |
MCHAR[(n)] | PD_MV_CHAR(m,n) 変数名; | 1≦n≦30000 |
MVARCHAR(n) | PD_MV_VCHAR(m,n) 変数名; | 1≦n≦32000 |
DATE | PD_MV_CHAR(m,10) 変数名; | |
TIME | PD_MV_CHAR(m,8) 変数名; | |
TIMESTAMP[(p)] | PD_MV_CHAR(m,n) 変数名; | p=0の場合はn=19 p=2の場合はn=21,22 p=4の場合はn=23,24 p=6の場合はn=25,26 |
INTERVAL YEAR TO DAY |
PD_MV_DEC(m,8,0) 変数名; | |
INTERVAL HOUR TO SECOND | PD_MV_DEC(m,6,0) 変数名; | |
ROW | − | |
BLOB | − | |
BINARY | − | |
標識変数(BLOB,BINARY,BLOB位置付け子,BINARY位置付け子以外) | PD_MV_SINT(m) 変数名; | |
SQL文 | − |
繰返し列を使用した場合のSQLのデータ型とC言語のデータ記述では,各データ型の埋込み変数の参照・設定に,専用のマクロを使用します。埋込み変数の参照・設定に使用するマクロを次の表に示します。
表F-4 埋込み変数の参照・設定に使用するマクロ
SQLのデータ型 | マクロ名 | 参照・設定するデータ | データ型 |
---|---|---|---|
SMALLINT | PD_MV_SINT_CNT(変数名) | 繰返しデータの現在要素数 | long※ |
PD_MV_SINT_DATA(変数名,m) | 繰返しの各要素 | short | |
INTEGER | PD_MV_INT_CNT(変数名) | 繰返しデータの現在要素数 | long※ |
PD_MV_INT_DATA(変数名,m) | 繰返しの各要素 | long※ | |
DECIMAL[(p[,s])] | PD_MV_DEC_CNT(変数名) | 繰返しデータの現在要素数 | long※ |
PD_MV_DEC_DATA(変数名,m) | 繰返しの各要素の10進数の先頭アドレス | unsigned | |
SMALLFLT, REAL |
PD_MV_SFLT_CNT(変数名) | 繰返しデータの現在要素数 | long※ |
PD_MV_SFLT_DATA(変数名,m) | 繰返しの各要素 | float | |
FLOAT (DOUBLE PRECISION) |
PD_MV_FLT_CNT(変数名) | 繰返しデータの現在要素数 | long※ |
PD_MV_FLT_DATA(変数名,m) | 繰返しの各要素 | double | |
CHAR[(n)] | PD_MV_CHAR_CNT(変数名) | 繰返しデータの現在要素数 | long※ |
PD_MV_CHAR_DATA(変数名,m) | 繰返しの各要素の,文字列の先頭アドレス | char[ ] | |
VARCHAR(n) | PD_MV_VCHAR_CNT(変数名) | 繰返しデータの現在要素数 | long※ |
PD_MV_VCHAR_LEN(変数名,m) | 繰返しの各要素の,文字列の実長 | short | |
PD_MV_VCHAR_STR(変数名,m) | 繰返しの各要素の,文字列のアドレス | char[ ] | |
PD_MV_CVCHAR_CNT(変数名) | 繰返しデータの現在要素数 | long※ | |
PD_MV_CVCHAR_DATA(変数名,m) | 繰返しの各要素の,文字列のアドレス | char[ ] | |
NCHAR[(n)] | PD_MV_NCHAR_CNT(変数名) | 繰返しデータの現在要素数 | long※ |
PD_MV_NCHAR_DATA(変数名,m) | 繰返しの各要素の,文字列の先頭アドレス | char[ ] | |
NVARCHAR(n) | PD_MV_NVCHAR_CNT(変数名) | 繰返しデータの現在要素数 | long※ |
PD_MV_NVCHAR_LEN(変数名,m) | 繰返しの各要素の,文字列の実長 | short | |
PD_MV_NVCHAR_STR(変数名,m) | 繰返しの各要素の,文字列の先頭アドレス | char[ ] | |
MCHAR[(n)] | PD_MV_CHAR_CNT(変数名) | 繰返しデータの現在要素数 | long※ |
PD_MV_CHAR_DATA(変数名,m) | 繰返しの各要素の,文字列の先頭アドレス | char[ ] | |
MVARCHAR(n) | PD_MV_VCHAR_CNT(変数名) | 繰返しデータの現在要素数 | long※ |
PD_MV_VCHAR_LEN(変数名,m) | 繰返しの各要素の,文字列の実長 | short | |
PD_MV_VCHAR_STR(変数名,m) | 繰返しの各要素の,文字列のアドレス | char[ ] | |
DATE | CHAR(10)と同じ | − | − |
TIME | CHAR(8)と同じ | − | − |
TIMESTAMP[(p)] | CHAR(n)と同じ p=0の場合はn=19 p=2の場合はn=21,22 p=4の場合はn=23,24 p=6の場合はn=25,26 |
− | − |
INTERVAL YEAR TO DAY | DECIMAL(8,0)と同じ | − | − |
INTERVAL HOUR TO SECOND | DECIMAL(6,0)と同じ | − | − |
標識変数 | PD_MV_SINT_CNT(変数名) | 繰返し列全体の標識 | long※ |
PD_MV_SINT_DATA(変数名,m) | 繰返し列の各要素の標識 | short |
繰返し列用の埋込み変数を参照・設定するマクロの使用例を次に示します。
EXEC SQL BEGIN DECLARE SECTION; char xname[5]; PD_MV_SINT(4) xmten; PD_MV_CHAR(4,5) xmkamoku; EXEC SQL END DECLARE SECTION; : strcpy(xname,"山田") PD_MV_SINT_DATA(xmten,0)=90; PD_MV_SINT_DATA(xmten,1)=65; PD_MV_SINT_DATA(xmten,2)=85; PD_MV_SINT_DATA(xmten,3)=55; PD_MV_SINT_CNT(xmten)=4; strcpy(PD_MV_CHAR_DATA(xmkamoku,0),"数学"); strcpy(PD_MV_CHAR_DATA(xmkamoku,1),"国語"); strcpy(PD_MV_CHAR_DATA(xmkamoku,2),"理科"); strcpy(PD_MV_CHAR_DATA(xmkamoku,3),"社会"); PD_MV_CHAR_CNT(xmkamoku)=4; EXEC SQL INSERT INTO 成績表(氏名,科目,成績) VALUES(:xname,:xmkamoku,:xmten);
ポインタ変数とC言語のデータ記述を次の表に示します。
表F-5 ポインタ変数とC言語のデータ記述
SQLのデータ型 | C言語のデータ記述 | 備考 | |
---|---|---|---|
SMALLINT | short *変数名; | ||
INTEGER | long *変数名; | ||
DECIMAL[(p[,s])] | SQL TYPE IS DECIMAL(p,s) *変数名; |
1≦p≦38,0≦s≦p | |
SMALLFLT,REAL | float *変数名; | ||
FLOAT (DOUBLE PRECISION) |
double *変数名; | ||
CHAR[(n)] [CHARACTER SET 文字集合指定] |
char [CHARACTER SET[IS] 文字集合指定]*変数名; |
1≦n≦30000※ 文字集合指定:[MASTER.]EBCDIK |
|
CHAR[(2n)] CHARACTER SET 文字集合指定 |
SQL TYPE IS CHAR(2n) CHARACTER SET[IS] 文字集合指定 *変数名; |
1≦n≦15000 文字集合指定: [MASTER.]UTF16 |
|
VARCHAR(n) [CHARACTER SET 文字集合指定] |
struct { short 変数名1; char 変数名2[n]; } [CHARACTER SET[IS] 文字集合指定]*構造体名; |
1≦n≦32000 変数名1:文字列長(バイト数) 変数名2:文字列 文字集合指定:[MASTER.]EBCDIK |
|
SQL TYPE IS VARCHAR(n) [CHARACTER SET[IS] 文字集合指定] *変数名; |
|||
VARCHAR [CHARACTER SET[IS] 文字集合指定] *変数名;※ |
|||
VARCHAR(2n) CHARACTER SET 文字集合指定 |
struct { short 変数名1; char 変数名2[2n]; } CHARACTER SET[IS] 文字集合指定 *構造体名; |
1≦n≦16000 変数名1:文字列長 変数名2:文字列 文字列長: バイト数で,2の倍数 文字集合指定: [MASTER.]UTF16 |
|
SQL TYPE IS VARCHAR(2n) CHARACTER SET[IS] 文字集合指定 *変数名; |
|||
NCHAR[(n)] | char *変数名; | 1≦n≦15000※ | |
NVARCHAR(n) | struct { short 変数名1; char 変数名2[2n]; } *構造体名; |
1≦n≦16000 変数名1:文字列長(文字数) 変数名2:文字列 |
|
SQL TYPE IS NVARCHAR(n) *変数名; |
|||
MCHAR[(n)] | char *変数名; | 1≦n≦30000※ | |
MVARCHAR(n) | struct { short 変数名1; char 変数名2[n]; } *構造体名; |
1≦n≦32000 変数名1:文字列長(バイト数) 変数名2:文字列 |
|
SQL TYPE IS MVARCHAR(n) *変数名; |
|||
DATE※ | char *変数名; | ||
TIME※ | char *変数名; | ||
TIMESTAMP※ | char *変数名; | ||
INTERVAL YEAR TO DAY | SQL TYPE IS DECIMAL(8,0) *変数名; |
||
INTERVAL HOUR TO SECOND | SQL TYPE IS DECIMAL(6,0) *変数名; |
||
ROW | char *変数名; | 1≦全体長≦30000※ | |
BLOB | SQL TYPE IS BLOB(n[{K|M|G}]) *変数名; |
単位を省略した場合: 1≦n≦2147483647 単位がKの場合: 1≦n≦2097152 単位がMの場合: 1≦n≦2048 単位がGの場合: 1≦n≦2 |
|
BINARY(n) | struct { long 変数名1; char 変数名2[n]; } *構造体名; |
1≦n≦2147483647 | |
SQL TYPE IS BINARY(n) *変数名; |
|||
BLOB位置付け子 | SQL TYPE IS BLOB AS LOCATOR *変数名; |
||
BINARY位置付け子 | SQL TYPE IS BINARY AS LOCATOR *変数名; |
||
標識変数 | BLOB,BINARY,BLOB位置付け子,BINARY位置付け子以外 | short *変数名; | |
BLOB,BINARY,BLOB位置付け子,BINARY位置付け子 | long *変数名; | ||
SQL文 | struct { long 変数名1; char 変数名2[n]; } *構造体名; |
1≦n≦2000000 | |
SMALLINT ARRAY m | PD_MV_SINT(m) *変数名; |
||
INTEGER ARRAY m | PD_MV_INT(m) *変数名; |
||
DECIMAL[(p[,s])] ARRAY m | PD_MV_DEC(m,p,s) *変数名; |
1≦p≦38,0≦s≦p | |
SMALLFLT ARRAY m (REAL) |
PD_MV_SFLT(m) *変数名; |
||
FLOAT ARRAY m (DOUBLE PRECISION) |
PD_MV_FLT(m) *変数名; |
||
CHAR[(n)] ARRAY m,及び MCHAR[(n)] ARRAY m |
PD_MV_CHAR(m,n) *変数名; |
1≦n≦30000 | |
VARCHAR[(n)] ARRAY m,及びMVARCHAR[(n)] ARRAY m | PD_MV_VCHAR(m,n) *変数名; |
1≦n≦32000 | |
PD_MV_CVCHAR(m,n) *変数名; |
|||
NCHAR[(n)] ARRAY m | PD_MV_NCHAR(m,n) *変数名; |
1≦n≦15000 | |
NVARCHAR[(n)] ARRAY m | PD_MV_NVCHAR(m,n) *変数名; |
1≦n≦16000 | |
DATE ARRAY m | PD_MV_CHAR(m,10) *変数名; |
||
TIME ARRAY m | PD_MV_CHAR(m,8) *変数名; |
||
TIMESTAMP ARRAY m | PD_MV_CHAR(m,n) *変数名; |
p=0の場合はn=19 p=2の場合はn=21,22 p=4の場合はn=23,24 p=6の場合はn=25,26 |
|
INTERVAL YEAR TO DAY ARRAY m | PD_MV_DEC(m,8,0) *変数名; |
||
INTERVAL HOUR TO SECOND ARRAY m | PD_MV_DEC(m,6,0) *変数名; |
||
繰返し列用標識変数 | PD_MV_SINT(m) *変数名; |
ポインタ型の繰返し列用の変数を参照,及び設定するには,専用のマクロを使用します。ポインタ型の繰返し列用のマクロを次の表に示します。
表F-6 ポインタ型の繰返し列用のマクロ
SQLのデータ型 | マクロ名 | 参照・設定するデータ | データ型 |
---|---|---|---|
SMALLINT ARRAY m | PD_MV_SINTP_CNT(変数名) | 繰返しデータの現在要素数 | long※ |
PD_MV_SINTP_DATA(変数名,m) | 繰返しの各要素 | short | |
INTEGER ARRAY m | PD_MV_INTP_CNT(変数名) | 繰返しデータの現在要素数 | long※ |
PD_MV_INTP_DATA(変数名,m) | 繰返しの各要素 | long※ | |
DECIMAL[(p[,s])] ARRAY m | PD_MV_DECP_CNT(変数名) | 繰返しデータの現在要素数 | long※ |
PD_MV_DECP_DATA(変数名,m) | 繰返しの各要素の10進数の先頭アドレス | char[ ] | |
SMALLFLT ARRAY m (REAL) |
PD_MV_SFLTP_CNT(変数名) | 繰返しデータの現在要素数 | long※ |
PD_MV_SFLTP_DATA(変数名,m) | 繰返しの各要素 | float | |
FLOAT ARRAY m (DOUBLE PRECISION) |
PD_MV_FLTP_CNT(変数名) | 繰返しデータの現在要素数 | long※ |
PD_MV_FLTP_DATA(変数名,m) | 繰返しの各要素 | double | |
CHAR[(n)] ARRAY m,又はMCHAR[(n)] ARRAY m | PD_MV_CHARP_CNT(変数名) | 繰返しデータの現在要素数 | long※ |
PD_MV_CHARP_DATA(変数名,m) | 繰返しの各要素の,文字列の先頭アドレス | char[ ] | |
VARCHAR(n) ARRAY m,又はMVARCHAR(n) ARRAY m | PD_MV_VCHARP_CNT(変数名) | 繰返しデータの現在要素数 | long※ |
PD_MV_VCHARP_LEN(変数名,m) | 繰返しの各要素の,文字列の実長 | short | |
PD_MV_VCHARP_STR(変数名,m) | 繰返しの各要素の,文字列のアドレス | char[ ] | |
PD_MV_CVCHARP_CNT(変数名) | 繰返しデータの現在要素数 | long※ | |
PD_MV_CVCHARP_DATA(変数名,m) | 繰返しの各要素の,文字列のアドレス | char[ ] | |
NCHAR[(n)] ARRAY m | PD_MV_NCHARP_CNT(変数名) | 繰返しデータの現在要素数 | long※ |
PD_MV_NCHARP_DATA(変数名,m) | 繰返しの各要素の,文字列の先頭アドレス | char[ ] | |
NVARCHAR(n) ARRAY m | PD_MV_NVCHARP_CNT(変数名) | 繰返しデータの現在要素数 | long※ |
PD_MV_NVCHARP_LEN(変数名,m) | 繰返しの各要素の,文字列の実長 | short | |
PD_MV_NVCHARP_STR(変数名,m) | 繰返しの各要素の,文字列の先頭アドレス | char[ ] | |
DATE ARRAY m | CHAR(10)と同じ | − | − |
TIME ARRAY m | CHAR(8)と同じ | − | − |
TIMESTAMP[(p)] ARRAY m | CHAR(n)と同じ p=0の場合はn=19 p=2の場合はn=21,22 p=4の場合はn=23,24 p=6の場合はn=25,26 |
− | − |
INTERVAL YEAR TO DAY | DECIMAL(8,0)と同じ | − | − |
INTERVAL HOUR TO SECOND | DECIMAL(6,0)と同じ | − | − |
標識変数 | PD_MV_SINTP_CNT(変数名) | 繰返し列全体の標識 | long※ |
PD_MV_SINTP_DATA(変数名,m) | 繰返し列の各要素の標識 | short |
一括指定用の構造体を次の表に示します。
表F-7 一括指定用の構造体
SQLのデータ型 | C言語のデータ記述 | 項目の記述 | 備考 |
---|---|---|---|
複数の項目 | 表F-1〜表F-3のデータ型をメンバとして含む構造体 | 複数の埋込み変数を一括指定します。 | ポインタ宣言ができます。 |
複数の項目用の標識変数 | 表F-1〜表F-3の標識変数をメンバとして含む構造体 | 複数の標識変数を一括指定します。 | ポインタ宣言ができます。 |
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.