プロが教えるわが家の防犯対策術!

SQL*Loaderを使用してあるアイテムに固定文字を登録をしたいのですがxxxxxx.csvでなくxxxxxx.ctlで可能でしょうか?

例)
-- xxxxx.ctl --
USERDATE SYSDATE
USERNAME char
-- xxxxx.csv --
"Process"

USERNAMEに"Process"と固定的に登録は出来ませんか?

A 回答 (2件)

こんにちわ。



厳密には、制御ファイルで行う訳ではありませんが
データを登録するテーブルにINSERT トリガーを定義して
トリガーの中でusername, userdate を設定してはいかがでしょうか?

※ 確かダイレクト・パス・ロードの場合はトリガーは動かなかった
  はずですので、ご注意下さい。
    • good
    • 0

こんにちわ。



#1 のmuyoshid です。
トリガーを使用する他にも、以下の方法があったようです。
 1) 表の列定義でDefault を指定しておく。
 2) CONSTANT 関数を使用する。
   → マニュアルによると、この方法はデータファイルを使用せずに
     SQL*Loader の内部でデータを生成するようです。

CONSTANT 関数については、「Oracle8i ユーティリティガイド 第(2)部 第5章」
『SQL*Loader 制御ファイル・リファレンス」内の『データの生成』に記載が
あります。
ユーザ登録が必要ですが、OTN Japan にPDF 形式のマニュアルが公開されて
いますので、こちらからDownload されてはいかがでしょうか?

参考URL:http://technet.oracle.co.jp/
    • good
    • 0
この回答へのお礼

-- xxxxxx.ctl --
USERDATE SYSDATE
USERNAME CONSTANT "Process"

このコーディングでロードが出来ました。
何度も色々とお調べ下さってありがとうございました。

お礼日時:2002/11/14 15:43

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