dポイントプレゼントキャンペーン実施中!

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

A 回答 (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
**********************************
になります。参考になるでしょうか?
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/03/06 17:51

DEFAULTIF を使えば可能ではないかと思います。



(
col1 char defaultif (col1=" ")
)

ような感じですが、詳しくはユーティリティガイドを参照下さい。

この回答への補足

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

補足日時:2005/02/11 00:22
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!