• ベストアンサー

SQL*Loaderでのデータロード

SQL*Loaderでデータロードを実行するとき ロードするテキストファイルのある列の部分が スペースのとき、テーブルで設定したデフォルト値 をロードさせたいのですが、どうCTLファイルで記述 すればよいのですか? 教えてください。おねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
  • _lemon
  • ベストアンサー率100% (2/2)
回答No.2

こんにちは。 表(C)は、 ********************************** 名前 型 ------------ COL1 CHAR(1) COL2 CHAR(1) ********************************** こんなもんでしょうか。 データファイルは、 ********************************** a1 2 c3 ********************************** こんなもんでしょうか。 CTLファイルは、 ********************************** INTO TABLE C ( COL1 POSITION(001:001) CHAR "DECODE(:COL1,'','0',:COL1)" , COL2 POSITION(002:002) CHAR ) ********************************** こんなもんでしょうか。 これで行うと、表Cは、 ********************************** a 1 0 2 c 3 ********************************** になります。参考になるでしょうか?

Ryo921
質問者

お礼

遅くなりすいません。ありがとうございました。

その他の回答 (1)

回答No.1

DEFAULTIF を使えば可能ではないかと思います。 ( col1 char defaultif (col1=" ") ) ような感じですが、詳しくはユーティリティガイドを参照下さい。

Ryo921
質問者

補足

DEFAULTIFは、私も考えて試してみたのですが うまくいきませんでした… ほかに何か方法は、ないですか?

関連するQ&A