Hitachi

ノンストップデータベース HiRDB Version 9 XDM/RD E2接続機能


付録A.2 SQLのデータ型とCOBOL言語のデータ記述

SQLのデータ型とCOBOL言語のデータ記述の対応は,マニュアル「HiRDB Version 9 UAP開発ガイド」の「SQLのデータ型とCOBOL言語のデータ記述」で示す対応に従います。ただし,XDM/RD E2接続機能で固有の対応をする場合があるので注意が必要です。

〈この項の構成〉

(1) 配列,繰返し列を使用しない場合

SQLのデータ型とCOBOL言語のデータ記述の対応の,XDM/RD E2接続機能を使用時に固有の追加項目を次の表に示します。

表A‒10 SQLのデータ型とCOBOL言語のデータ記述(追加項目)

SQLのデータ型

COBOL言語のデータ記述

項目の記述

備考

LARGE

DECIMAL

[(p[,s])]

L1 基本項目名

PICTURE S9(p-s)[V9(s)]

COMPUTATIONAL-3.

基本項目または独立項目

1≦p≦18,

0≦s≦p

p=sの場合,SV9(s)とします。

s=0の場合,[V9(s)]を省略します。

LONG

VARCHAR(n)

L2 集団項目名.

L3 基本項目名1

PICTURE S9(4)

COMPUTATIONAL.

L3 基本項目名2

PICTURE X(n).

二つの基本項目から構成される集団項目

基本項目名1:文字列長基本項目名2:文字列

1≦n≦32,000

LONG

NVARCHAR(n)

L2 集団項目名.

L3 基本項目名1

PICTURE S9(4)

COMPUTATIONAL.

L3 基本項目名2

PICTURE N(n).

二つの基本項目から構成される集団項目

基本項目名1:文字列長基本項目名2:文字列

1≦n≦16,000

LONG

MVARCHAR(n)

L2 集団項目名.

L3 基本項目名1

PICTURE S9(4)

COMPUTATIONAL.

L3 基本項目名2

PICTURE X(n).

二つの基本項目から構成される集団項目

基本項目名1:文字列長

基本項目名2:文字列

1≦n≦32,000

INTERVAL YEAR TO SECOND(q)

L1 基本項目名

PICTURE S9(14)[V9(q)]

COMPUTATION-3.

基本項目または独立項目

q=0,2,4,6

q=0の場合,[V9(q)]を省略します。

q>4の場合,精度>18となるため,q=6の場合は精度=18で展開されるので,V9(4)となります。

CLOB(n)

L2 集団項目名※1

[USAGE [IS]]

SQL TYPE IS

CLOB(n{K|M|G}).※2

基本項目

単位省略時:

1≦n≦2,147,483,647

単位がKB:

1≦n≦2,097,152

単位がMB:

1≦n≦2,048

単位がGB:

1≦n≦2

CLOB位置付け子

L1 基本項目名

[USAGE [IS]]

SQL TYPE IS

CLOB AS LOCATOR.※3

基本項目または独立項目

標識変数

CLOB

L4 基本項目名

PICTURE S9(9)

COMPUTATIONAL.

基本項目または独立項目

(凡例)

L1:レベル番号01〜49,または77

L2:レベル番号01〜48

L3:レベル番号02〜49(L2<L3)

L4:レベル番号01〜49

n:長さ(バイト)

p:精度(全体のけた数)

q:小数秒精度

s:位取り(小数点以下のけた数)

−:備考はありません。

注※1

集団項目名は21文字以下にしてください。ただし,COBOL2002の場合は22文字以下にしてください。

注※2

CLOBのUAPの記述は,内部的に次のように展開されます。

L2 集団項目名.
      49 集団項目名-RESERVED PICTURE S(9) USAGE IS BINARY.  … 1
      49 集団項目名-LENGTH  PICTURE S(9) USAGE IS BINARY.   … 2
      49 集団項目名-DATA   PIC X(m).                        … 3
  1. 変数名-RESERVEDは,使用しません。

  2. 変数名-LENGTHは,CLOBの実際の長さ(バイト)になります。

  3. 変数名-DATAは,CLOBのデータ格納領域(mは実際のデータ長)になります。

注※3

CLOB位置付け子のUAPの記述は,内部的に次のように展開されます。

L1 基本項目名 PICTURE S9(9) COMPUTATIONAL.

また,SQLのデータ型とCOBOL言語のデータ記述の変更前と変更後を表「SQLのデータ型とCOBOL言語のデータ記述(変更前)」および表「SQLのデータ型とCOBOL言語のデータ記述(変更後)」に示します。

表A‒11 SQLのデータ型とCOBOL言語のデータ記述(変更前)

SQLのデータ型

COBOL言語のデータ記述

項目の記述

備考

TIME

L1 基本項目名

PICTURE X(8).

基本項目または独立項目

TIMESTAMP[(q)]

L1 基本項目名

PICTURE X(n).

基本項目または独立項目

q=0の場合:n=19

q=2の場合:n=21,22

q=4の場合:n=23,24

q=6の場合:n=25,26

(凡例)

L1:レベル番号01〜49,または77

n:長さ(バイト)

q:小数秒精度

−:備考はありません。

表A‒12 SQLのデータ型とCOBOL言語のデータ記述(変更後)

SQLのデータ型

COBOL言語のデータ記述

項目の記述

備考

TIME[(q)]

L1 基本項目名

PICTURE X(n).

基本項目または独立項目

q=0の場合:n=8

q=2の場合:n=11

q=4の場合:n=13

q=6の場合:n=15

TIMESTAMP[(q)]

L1 基本項目名

PICTURE X(n).

基本項目または独立項目

q=0の場合:n=19

q=2の場合:n=22

q=4の場合:n=24

q=6の場合:n=26

(凡例)

L1:レベル番号01〜49,または77

n:長さ(バイト)

q:小数秒精度

太字の部分が変更点です。

(2) 配列を使用する場合

SQLのデータ型とCOBOL言語のデータ記述の対応の,XDM/RD E2接続機能を使用時に固有の追加項目(配列を使用する場合)を次の表に示します。

表A‒13 配列を使用する場合のSQLのデータ型とCOBOL言語のデータ記述(追加項目)

SQLのデータ型

COBOL言語のデータ記述

項目の記述

備考

LARGE

DECIMAL

[(p[,s])]

L2 基本項目名

PICTURE S9(p-s)[V9(s)]

COMPUTATIONAL-3

OCCURS m TIMES.

OCCURSの指定によって同じデータ構造を繰り返す反復データ項目から構成される集団項目

LONG

VARCHAR(n)

L2 集団項目名2

OCCURS m TIMES.

L3 基本項目名1

PICTURE S9(4)

COMPUTATIONAL.

L3 基本項目名2

PICTURE X(n).

OCCURSの指定によって同じデータ構造を繰り返す反復データ項目から構成される集団項目

1≦n≦32,000

LONG

NVARCHAR(n)

L2 集団項目名2

OCCURS m TIMES.

L3 基本項目名1

PICTURE S9(4)

COMPUTATIONAL.

L3 基本項目名2

PICTURE N(n).

OCCURSの指定によって同じデータ構造を繰り返す反復データ項目から構成される集団項目

1≦n≦16,000

LONG

MVARCHAR(n)

L2 集団項目名2

OCCURS m TIMES.

L3 基本項目名1

PICTURE S9(4)

COMPUTATIONAL.

L3 基本項目名2

PICTURE X(n).

OCCURSの指定によって同じデータ構造を繰り返す反復データ項目から構成される集団項目

1≦n≦32,000

INTERVAL YEAR TO SECOND(q)

L2 基本項目名

PICTURE S9(14)[V9(q)]

COMPUTATIONAL-3

OCCURS m TIMES.

OCCURSの指定によって同じデータ構造を繰り返す反復データ項目から構成される集団項目

q=0,2,4,6

q=0の場合,[V9(q)]を省略します。

q>4の場合,精度>18となるため,q=6の場合は精度=18で展開されるので,V9(4)となります。

CLOB

CLOB位置付け子

(凡例)

L2:レベル番号02〜49(L2<L3)

L3:レベル番号03〜49

m:配列の要素数

n:長さ(バイト)

p:精度(全体のけた数)

q:小数秒精度

s:位取り(小数点以下のけた数)

−:該当しません。

また,SQLのデータ型とCOBOL言語のデータ記述の変更前と変更後を表「配列を使用する場合のSQLのデータ型とCOBOL言語のデータ記述(変更前)」および表「配列を使用する場合のSQLのデータ型とCOBOL言語のデータ記述(変更後)」に示します。

表A‒14 配列を使用する場合のSQLのデータ型とCOBOL言語のデータ記述(変更前)

SQLのデータ型

COBOL言語のデータ記述

項目の記述

備考

TIME

L2 基本項目名

PICTURE X(8)

OCCURS m TIMES.

OCCURSの指定によって同じデータ構造を繰り返す反復データ項目から構成される集団項目

TIMESTAMP[(q)]

L2 基本項目名

PICTURE X(n)

OCCURS m TIMES.

q=0の場合:n=19

q=2の場合:n=21,22

q=4の場合:n=23,24

q=6の場合:n=25,26

(凡例)

L2:レベル番号02〜49(L2<L3)

m:配列の要素数

n:長さ(バイト)

q:小数秒精度

−:備考はありません。

表A‒15 配列を使用する場合のSQLのデータ型とCOBOL言語のデータ記述(変更後)

SQLのデータ型

COBOL言語のデータ記述

項目の記述

備考

TIME[(q)]

L2 基本項目名

PICTURE X(n)

OCCURS m TIMES.

OCCURSの指定によって同じデータ構造を繰り返す反復データ項目から構成される集団項目

q=0の場合:n=8

q=2の場合:n=11

q=4の場合:n=13

q=6の場合:n=15

TIMESTAMP[(q)]

L2 基本項目名

PICTURE X(n)

OCCURS m TIMES.

q=0の場合:n=19

q=2の場合:n=22

q=4の場合:n=24

q=6の場合:n=26

(凡例)

L2:レベル番号02〜49(L2<L3)

m:配列の要素数

n:長さ(バイト)

q:小数秒精度

太字の部分が変更点です。

(3) 繰返し列を使用する場合

SQLのデータ型とCOBOL言語のデータ記述の対応の,XDM/RD E2接続機能を使用時に固有の追加項目(繰返し列を使用する場合)を次の表に示します。

表A‒16 繰返し列を使用する場合のSQLのデータ型とCOBOL言語のデータ記述(追加項目)

SQLのデータ型

COBOL言語のデータ記述

項目の記述

備考

LARGE

DECIMAL

[(p[,s])]

L2 集団項目名.

L3 基本項目名1

PICTURE S9(9)

COMPUTATIONAL.

L3 基本項目名2

PICTURE S9(p-s)[V9(s)]

COMPUTATIONAL-3

OCCURS m TIMES.

(P=SのときはSV9(p)とする)

二つの基本項目から構成される集団項目

INTERVAL YEAR TO SECOND(q)

L2 集団項目名.

L3 基本項目名1

PICTURE S9(9)

COMPUTATIONAL.

L3 基本項目名2

PICTURE S9(14)[V9(q)]

COMPUTATIONAL-3

OCCURS m TIMES.

二つの基本項目から構成される集団項目

q=0,2,4,6

q=0の場合,[V9(q)]を省略します。

q>4の場合,精度>18となるため,q=6の場合は精度=18で展開されるので,V9(4)となります。

CLOB

CLOB位置付け子

(凡例)

L2:レベル番号02〜49(L2<L3)

L3:レベル番号03〜49

m:繰返し列の最大要素数

p:精度(全体のけた数)

q:小数秒精度

s:位取り(小数点以下のけた数)

−:該当しません。

また,SQLのデータ型とCOBOL言語のデータ記述の変更前と変更後を表「繰返し列を使用する場合のSQLのデータ型とCOBOL言語のデータ記述(変更前)」および表「繰返し列を使用する場合のSQLのデータ型とCOBOL言語のデータ記述(変更後)」に示します。

表A‒17 繰返し列を使用する場合のSQLのデータ型とCOBOL言語のデータ記述(変更前)

SQLのデータ型

COBOL言語のデータ記述

項目の記述

備考

VARCHAR(n)

/MVARCHAR(n)

L2 集団項目名.

L3 基本項目名1

PICTURE S9(9)

COMPUTATIONAL.

L3 集団項目名2

OCCURS m TIMES.

L4 基本項目名3

PICTURE S9(4)

COMPUTATIONAL.

L4 基本項目名4

PICTURE X(n).

二つの基本項目から構成される集団項目と,一つの基本項目から構成される集団項目

1≦n≦32,000

NVARCHAR(n)

L2 集団項目名.

L3 基本項目名1

PICTURE S9(9)

COMPUTATIONAL.

L3 集団項目名2

OCCURS m TIMES.

L4 基本項目名3

PICTURE S9(4)

COMPUTATIONAL.

L4 基本項目名4

PICTURE N(n).

二つの基本項目から構成される集団項目と,一つの基本項目から構成される集団項目

1≦n≦16,000

TIME

L2 集団項目名.

L3 基本項目名1

PICTURE S9(9)

COMPUTATIONAL.

L3 基本項目名2

PICTURE X(8)

OCCURS m TIMES.

二つの基本項目から構成される集団項目

TIMESTAMP[(q)]

L2 集団項目名.

L3 基本項目名1

PICTURE S9(9)

COMPUTATIONAL.

L3 基本項目名2

PICTURE X(n)

OCCURS m TIMES.

二つの基本項目から構成される集団項目

q=0の場合:n=19

q=2の場合:n=21,22

q=4の場合:n=23,24

q=6の場合:n=25,26

(凡例)

L2:レベル番号02〜49

L3,L4:レベル番号03〜49

m:繰返し列の最大要素数

n:長さ(バイト)

q:小数秒精度

−:備考はありません。

表A‒18 繰返し列を使用する場合のSQLのデータ型とCOBOL言語のデータ記述(変更後)

SQLのデータ型

COBOL言語のデータ記述

項目の記述

備考

VARCHAR(n)

/LONG VARCHAR(n)

/MVARCHAR(n)

/LONG MVARCHAR(n)

L2 集団項目名.

L3 基本項目名1

PICTURE S9(9)

COMPUTATIONAL.

L3 集団項目名2

OCCURS m TIMES.

L4 基本項目名3

PICTURE S9(4)

COMPUTATIONAL.

L4 基本項目名4

PICTURE X(n).

二つの基本項目から構成される集団項目と,一つの基本項目から構成される集団項目

1≦n≦32,000

NVARCHAR(n)

/LONG NVARCHAR(n)

L2 集団項目名.

L3 基本項目名1

PICTURE S9(9)

COMPUTATIONAL.

L3 集団項目名2

OCCURS m TIMES.

L4 基本項目名3

PICTURE S9(4)

COMPUTATIONAL.

L4 基本項目名4

PICTURE N(n).

二つの基本項目から構成される集団項目と,一つの基本項目から構成される集団項目

1≦n≦16,000

TIME[(q)]

L2 集団項目名.

L3 基本項目名1

PICTURE S9(9)

COMPUTATIONAL.

L3 基本項目名2

PICTURE X(n)

OCCURS m TIMES.

二つの基本項目から構成される集団項目

q=0の場合:n=8

q=2の場合:n=11

q=4の場合:n=13

q=6の場合:n=15

TIMESTAMP[(q)]

L2 集団項目名.

L3 基本項目名1

PICTURE S9(9)

COMPUTATIONAL.

L3 基本項目名2

PICTURE X(n)

OCCURS m TIMES.

二つの基本項目から構成される集団項目

q=0の場合:n=19

q=2の場合:n=22

q=4の場合:n=24

q=6の場合:n=26

(凡例)

L2:レベル番号02〜49

L3,L4:レベル番号03〜49

m:繰返し列の最大要素数

n:長さ(バイト)

q:小数秒精度

太字の部分が変更点です。