コンテンツエリア開始

This graphic is explained in the accompanying text IMPORT COLUMNS Locate the document in its SAP Library structure

IMPORT COLUMNS コマンドを使用して、テーブルの個別の列値をインポートすることができます。

前提条件

TESTDB デモデータベースが必要です。データベースユーザ MONA がまだ設定されていない場合は、登録します。HOTEL スキーマが存在しない場合、データベースユーザ MONA として登録します。HOTEL スキーマのテーブルが存在しない場合は登録します。

EXPORT COLUMNS コマンドを使用して必要なデータがエクスポートされていること。

データベースユーザ MONA としてローダを起動し、デモデータベース TESTDB にログオンします。Structure linkセッションモードを使用します。

loadercli -d testdb -u mona,red -s hotel

HOTEL スキーマの CUSTOMER テーブルにデータをインポートします。

キーワードDATA 後にエントリを入力し、インポートするアプリケーションデータを選択することができます。

Caution

テーブルをインポートすると、このテーブルに定義されているすべてのオブジェクトとリンク (ビュー、他のテーブルとの外部キー依存関係など) も登録されます。必要なオブジェクトが存在しないためにインポートを実行できない場合、その事実が通知されます。一般的なエラーメッセージは、以下のとおりです。Structure link-25451 および Structure link-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 書式でインポートされます。

対応するデータストリームには、すべてのテーブル列のデータが含まれる必要があります。含まれない場合は、エラーがレポートされます。

参照:

ローダStructure linkデータストリームStructure linkCSVFWVFWV BINARY

Note

IMPORT TABLE ... DATA ... コマンドを使用して、テーブルのすべての列値をインポートすることもできます。

if_condition

DATA データストリームから個別のデータレコードを選択し、指定したテーブルにこれらのレコードのみをインポートすることができます。構文要素の順序に注意してください。IF 条件を最初に入力します。

IMPORT COLUMNS TABLE hotel.customer
  IF POS 1 > '4000'
  DATA INSTREAM 'hotel_csv.data'

CNO 列で値が4000 を超える行がCUSTOMER テーブルにインポートされます。

参照:

ローダStructure linkデータレコードの選択

DUPLICATES

重複するテーブル行がある場合、DUPLICATES 句を使用してその動作を制御します。構文要素の順序に注意してください。DUPLICATES 句は IF 条件の後に入力します。

IMPORT COLUMNS TABLE hotel.customer
  UPDATE DUPLICATES
  DATA INSTREAM 'customer_csv.data'

テーブルCUSTOMER のアプリケーションデータがインポートされ、インポートしたデータレコードによって既存の行が上書きされます。

参照:

ローダ、重複句 (Structure linkIMPORT 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 でも指定されていない場合、エラーが発生して処理は強制終了されます。

LONG 値の処理

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に保存されます。

参照:

ローダStructure linkLONG 値のエクスポートとインポート

IMPORT COLUMNS コマンドの完全な構文

構文オプションを組み合わせると、それに応じて複雑なコマンドになります。構文要素の順序に注意してください。

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

完全な構文の内容説明については、ローダ文書の Structure linkIMPORT COLUMNS コマンドを参照してください。

参照:

インポート用のその他のコマンド

 

 

コンテンツエリア終了