COBOL2002 ユーザーズガイド

[目次][用語][索引][前へ][次へ]

24.2.5 埋め込み変数

SQL文中で指定する埋め込み変数は,対応する列,または式で有効なODBC SQLデータ型と対応づけられたCOBOLデータ定義で,定義する必要があります。

使用する表の列に対応するCOBOLデータ定義は,ODBCレコード定義生成を使って生成できます。詳細は,マニュアル「COBOL2002 操作ガイド」を参照してください。

ODBC SQLデータ型とCOBOLのデータ記述の対応を次に示します。

表24-3 ODBC SQLデータ型に対応したCOBOLのデータ記述

ODBC SQLデータ型 埋め込み変数の型 データ記述
CHAR(n) 文字列型
固定長形式
Ln データ名     PIC X(n).
VARCHAR(n) 文字列型
可変長形式
L1 データ名.
 L2 ODBC-length PIC S9(9) USAGE COMP.
 L2 ODBC-char   PIC  X(n).
LONG VARCHAR 文字列型
可変長形式
L1 データ名.
 L2 ODBC-length PIC S9(9) USAGE COMP.
 L2 ODBC-char   PIC  X(max).
DECIMAL(p,s) 数値型
Ln データ名     PIC S9(p-s)V9(s)
                SIGN IS LEADING
                SEPARATE CHARACTER.
NUMERIC(p,s) 数値型
Ln データ名     PIC S9(p-s)V9(s)
                SIGN IS LEADING
                SEPARATE CHARACTER.
SMALLINT 整数型符号付き2バイト2進項目
または,整数型符号なし2バイト2進項目
Ln データ名    PIC S9(4) USAGE COMP.
Ln データ名    PIC  9(4) USAGE COMP.
INTEGER 整数型符号付き4バイト2進項目
または,整数型符号なし4バイト2進項目
Ln データ名    PIC S9(9) USAGE COMP.
Ln データ名    PIC  9(9) USAGE COMP.
REAL 内部浮動小数点型単精度形式
Ln データ名    USAGE COMPUTATIONAL-1.
FLOAT 内部浮動小数点型倍精度形式
Ln データ名    USAGE COMPUTATIONAL-2.
DOUBLE PRECISION 内部浮動小数点型倍精度形式
Ln データ名    USAGE COMPUTATIONAL-2.
BIT ビット列型
L1 データ名.
 L2 FILLER     PIC  1(7) USAGE BIT.
 L2 ODBC-bit   PIC  1(1) USAGE BIT.
TINYINT 整数型符号付き1バイト2進形式
または整数型符号なし1バイト2進形式
 
Ln データ名    PIC  X(1).
Ln データ名    PIC S9(2) USAGE COMP.
Ln データ名    PIC  9(2) USAGE COMP.
BIGINT 整数型符号付き8バイト2進形式または整数型符号なし8バイト2進形式
Ln データ名    PIC  X(20).
BINARY(n) バイナリデータ型固定長形式
Ln データ名    PIC  X(n).
VARBINARY(n) バイナリデータ型可変長形式
L1 データ名.
 L2 ODBC-length PIC S9(9) USAGE COMP.
 L2 ODBC-binary PIC  X(n).
LONG VARBINARY バイナリデータ型可変長形式
L1 データ名.
 L2 ODBC-length PIC S9(9) USAGE COMP.
 L2 ODBC-binary PIC  X(max).
DATE 日時型日付形式
L1 データ名.
 L2 ODBC-year   PIC S9(4) USAGE COMP.
 L2 ODBC-month  PIC  9(4) USAGE COMP.
 L2 ODBC-day    PIC  9(4) USAGE COMP.
TIME 日時型時刻形式
L1 データ名.
 L2 ODBC-hour   PIC  9(4) USAGE COMP.
 L2 ODBC-minute PIC  9(4) USAGE COMP.
 L2 ODBC-second PIC  9(4) USAGE COMP.
TIMESTAMP 日時型日付/時刻形式
L1 データ名.
 L2 ODBC-year   PIC S9(4) USAGE COMP.
 L2 ODBC-month  PIC  9(4) USAGE COMP.
 L2 ODBC-day    PIC  9(4) USAGE COMP.
 L2 ODBC-hour   PIC  9(4) USAGE COMP.
 L2 ODBC-minute PIC  9(4) USAGE COMP.
 L2 ODBC-second PIC  9(4) USAGE COMP.
 L2 ODBC-fraction PIC 9(9) USAGE COMP.

(凡例)
Ln:レベル番号01〜49,または77
L1:レベル番号01〜48
L2:レベル番号02〜49(ただし,L1<L2)
max:最大データ長
ODBC-xxx:任意のデータ名
データ名:SQL文中で指定する埋め込み変数名

上表以外のSQLデータ型には対応していません。

注※
1バイト2進項目は,COMP-X項目で定義するか,コンパイル時に-Bin1Byteオプションを指定する必要があります。1バイト2進項目の詳細については,マニュアル「COBOL2002 言語 拡張仕様編 26.5.1 1バイト2進機能」を参照してください。