スケーラブルデータベースサーバ 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.