- ベストアンサー
SQL*Loaderでのデータロード
SQL*Loaderでデータロードを実行するとき ロードするテキストファイルのある列の部分が スペースのとき、テーブルで設定したデフォルト値 をロードさせたいのですが、どうCTLファイルで記述 すればよいのですか? 教えてください。おねがいします。
- みんなの回答 (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 ********************************** になります。参考になるでしょうか?
その他の回答 (1)
- k_o_r_o_c_h_a_n
- ベストアンサー率55% (526/942)
DEFAULTIF を使えば可能ではないかと思います。 ( col1 char defaultif (col1=" ") ) ような感じですが、詳しくはユーティリティガイドを参照下さい。
補足
DEFAULTIFは、私も考えて試してみたのですが うまくいきませんでした… ほかに何か方法は、ないですか?
お礼
遅くなりすいません。ありがとうございました。