列構成情報ファイルの記述例を次に示します。
CREATE TABLE T1 (COL1 INTEGER,COL2 DATE,COL3 CHAR(10));
順序数生成子(USER01.SEQ_B01)から順序番号を生成し,COL03に格納する例について示します。
CREATE TABLE T1 (COL1 INTEGER,
COL2 CHAR(10),
COL3 DECIMAL(10),
COL4 INTEGER);
1,ABC,2500
2,DEF,30000
3,GHI,10
:
COL1
COL2
COL4
*adddata*
COL3,sequence=(USER01.SEQ_B01)
CREATE TABLE T1 (COL1 INTEGER,COL2 DATE,COL3 CHAR(10));
LOB属性を含むSGMLTEXT型の列がある表T1と,BLOB型の列がある表T2を例にして,表T1のアンロードデータを表T2にデータロードする場合について説明します。なお,説明中の表定義は,列名及びデータ型の指定部分だけで,ほかの指定部分は省略しています。
T1(C1 INT, C2 SGMLTEXT, C3 BLOB)
T2(C4 BLOB ,C5 INT, C6 SGMLTEXT)
C5
C6, func=(SGMLTEXT, param=blob)
C4
T1(C1 INT, C2 SGMLTEXT, C3 BLOB)
T2(C4 INT ,C5 BLOB)
C4
*skipdata*, type=blobprm
C5
T1(C1 INT, C2 BLOB)
T2(C4 INT, C5 BLOB, C6 SGMLTEXT)
C4
C5
T1のSGMLTEXT型列のLOB属性のデータ(C2)をT2のLOB列(C6)に,T1のLOB列のデータ(C3)をT2のSGMLTEXT型列のLOB属性(C5)に,それぞれ入れ替えます。
T1(C1 INT, C2 SGMLTEXT, C3 BLOB)
T2(C4 INT ,C5 SGMLTEXT, C6 BLOB)
C4
C6, type=blobprm
C5, func=(sgmltext, param=blob)
SGMLTEXT型列のLOB属性のデータ(C2)をSGMLBIN型列のBINARY属性(C5)に,LOB列のデータ(C3)をBINARY型列(C6)にデータロードします。
T1(C1 INT, C2 SGMLTEXT, C3 BLOB)
T2(C4 INT ,C5 SGMLBIN, C6 BINARY)
C4 ................................................1
C5, func=(sgmlbin, param=binary, type=blobprm) ....2
C6, type=blob .....................................3
CHARACTER型の定義長を,10から21に拡張してデータロードします。
T1(C1 CHAR(10), C2 BLOB)
T2(C1 CHAR(21), C2 BLOB)
C1,type=char(10)
C2
データ変換をする場合,データ変換後のBINARY型データ,抽象データ型のBINARYパラメタデータ,及び抽象データ型のBLOBパラメタデータのデータの間にBLOBデータが入るような並びになったときは,そのBLOBデータ保持するためにメモリを確保する必要があります。メモリを確保できない場合は,メモリ確保エラーで終了します。次のような場合に,メモリの確保が必要となります。
BINARY型の列,BLOB属性の抽象データ型列,及びBLOB型の列を定義した表から出力した,pdrorg出力バイナリ形式の入力データファイルのデータの並びを次の図に示します。
図5-27 pdrorg出力バイナリ形式の入力データファイルのデータの並び