IMPORT COLUMNS コマンドを使用して、テーブルの個別の列値をインポートすることができます。
TESTDB デモデータベースが必要です。データベースユーザ MONA がまだ設定されていない場合は、登録します。HOTEL スキーマが存在しない場合、データベースユーザ MONA として登録します。HOTEL スキーマのテーブルが存在しない場合は登録します。
EXPORT COLUMNS コマンドを使用して必要なデータがエクスポートされていること。
データベースユーザ MONA としてローダを起動し、デモデータベース TESTDB にログオンします。セッションモードを使用します。
loadercli -d testdb -u mona,red -s hotel
HOTEL スキーマの CUSTOMER テーブルにデータをインポートします。
キーワードDATA の後にエントリを入力し、インポートするアプリケーションデータを選択することができます。
テーブルをインポートすると、このテーブルに定義されているすべてのオブジェクトとリンク (ビュー、他のテーブルとの外部キー依存関係など) も登録されます。必要なオブジェクトが存在しないためにインポートを実行できない場合、その事実が通知されます。一般的なエラーメッセージは、以下のとおりです。-25451 および -25392。これらのエラーが発生した場合、インポートはその時点で強制終了されます。
各種テーブルについてローダの動作をテストします。必要に応じて、必要な従属オブジェクトを TESTDB データベースに入力します。たとえば、CUSTOMER テーブルは CITY テーブルに従属しています。
テーブルのすべてのアプリケーションデータをインポートすることができます。
IMPORT COLUMNS TABLE
hotel.customer
DATAINSTREAM
'customer_csv.data'
アプリケーションデータ(DATA) は、CSV 書式 (デフォルト値) でインポートされます。
IMPORT COLUMNS TABLE
hotel.customer
cno 1-5
title 6-25
firstname 26-45
name 46-85
zip 86-105
address 106-145
DATAINSTREAM 'customer_fwv.data'
FWV
アプリケーションデータ(DATA) は、FWV 書式でインポートされます。
IMPORT COLUMNS TABLE
hotel.customer
cno 1-5
title 6-25
firstname 26-45
name 46-85
zip 86-105
address 106-145
DATAINSTREAM 'customer_fwvbinary.data'
FWV BINARY
すべて (TABLE) のアプリケーションデータ (DATA) が FWV BINARY 書式でインポートされます。
対応するデータストリームには、すべてのテーブル列のデータが含まれる必要があります。含まれない場合は、エラーがレポートされます。
参照:
ローダ、データストリーム、CSV、FWV、FWV BINARY
IMPORT TABLE ... DATA ... コマンドを使用して、テーブルのすべての列値をインポートすることもできます。
DATA データストリームから個別のデータレコードを選択し、指定したテーブルにこれらのレコードのみをインポートすることができます。構文要素の順序に注意してください。IF 条件を最初に入力します。
IMPORT COLUMNS TABLE
hotel.customer
IF POS 1 > '4000'
DATA INSTREAM
'hotel_csv.data'
CNO 列で値が4000 を超える行がCUSTOMER テーブルにインポートされます。
参照:
ローダ、データレコードの選択
DUPLICATES 句
重複するテーブル行がある場合、DUPLICATES 句を使用してその動作を制御します。構文要素の順序に注意してください。DUPLICATES 句は IF 条件の後に入力します。
IMPORT COLUMNS TABLE
hotel.customer
UPDATE DUPLICATES
DATA INSTREAM
'customer_csv.data'
テーブルCUSTOMER のアプリケーションデータがインポートされ、インポートしたデータレコードによって既存の行が上書きされます。
参照:
ローダ、重複句 (IMPORT COLUMNS コマンド)
テーブルの個別の列値をインポートすることができます。
IMPORT COLUMNS TABLE
hotel.customer
cno 1
title 2
name 3
zip 4
address 5
DATA INSTREAM
'customer_csv.data'
指定したCUSTOMER テーブルの列が指定した順序でエクスポートされます。
ローダでは、指定列についてのみデータストリームのデータを想定しています。これらの列は、インポートに必要な順序である必要があります。その他の列は、列の定義方法に応じて DEFAULT 値または NULL 値でインポートされます。
テーブルの定義時にDEFAULT または NULL 値が指定されておらず、完全性条件による値が必要であるすべての列に対してデータをインポートする必要があります。必要な列の 1 つでも指定されていない場合、エラーが発生して処理は強制終了されます。
CSV および FWV [BINARY] 書式を使用する場合、エクスポート時に LONG データ用として特別なデータストリームが登録されます。
HOTEL スキーマの HOTEL テーブルのデータをインポートします。HOTEL テーブルには、LONG 列 INFO があります。その内容は別のデータストリームでエクスポートされています。DATA 構文要素の後に LOB 構文要素を入力します。
IMPORT COLUMNS TABLE
hotel.hotel
DATA INSTREAM 'hotel_csv.data'
LOB INSTREAM INFO
'hotel_info_csv.long'
HOTEL テーブルのすべての列がインポートされます。LONG 値は、データストリーム hotel_info_csv.longに保存されます。
参照:
構文オプションを組み合わせると、それに応じて複雑なコマンドになります。構文要素の順序に注意してください。
IMPORT COLUMNS TABLE
hotel.customer
IF POS 1 >= '4000'
UPDATE DUPLICATES
cno 1
title 2
name 3
zip 4
address 5
DATA INSTREAM FILE 'customer_csv.data' CSV
完全な構文の内容説明については、ローダ文書の IMPORT COLUMNS コマンドを参照してください。
参照:
インポート用のその他のコマンド