- - PR -
SQL*Loaderでロード項目指定
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2005-08-04 20:29
いつもお世話になっています。
SQL*Loaderを使用して、CSVファイルをOracle9iに取り込もうと しているのですが、 @CSVファイルの項目を指定してデータベースの 指定項目へロードする事は出来ないか? <CSVファイル> 1,aaa,2005 2,bbb,2005 3,ccc,2004 <DBレイアウト> no | nen | 「no」項目にはcsvファイルの1列目をロードして 「nen]項目にはcsvファイルの3列目をロードしたい。 Acsvファイルの2列目と3列目を結合して「nen」項目にロードできないか? 以上@Aが可能か不可能か、ご存知の方がいれば教えて頂けませんか? (Oracle9iデータベースユーティリティーも見たのですが、求める答えを 探し当てることができませんでした・・・) | ||||
|
投稿日時: 2005-08-04 23:15
Oracle9i使ってませんが、それぐらいの機能はどのDBでもあるはず…
| ||||
|
投稿日時: 2005-08-05 04:56
SQL*Loader では無理でしょう。
1にしても、2 にしても、CSVファイルの段階で加工すれば、 良いと思うのですが、SQL*Loader内で行なおうとする理由は何かあるのでしょうか? また、実行手段にこだわらないならば、プロシージャを作成して、CSVファイルを 読み込んで処理するのなら、可能とおもいます。 | ||||
|
投稿日時: 2005-08-05 08:34
9iなら外部表使ってもいいですしね。 | ||||
|
投稿日時: 2005-08-05 11:33
解決しました。
<CSVファイル> 1,aaa,2005 2,bbb,2005 3,ccc,2004 <DBレイアウト> no | nen | item | TRAILING NULLCOLS ( no, dmy FILLER, <--- CSVファイルの2列目はテーブルに取り込まないので 項目名は適当につける nen ) あと、結合の件ですが 取り込んだ項目を結合することは出来ました。 FILLER項目を結合に使うことは出来ないようです。同然ですね。。。 読み込まない設定しているので・・・・ TRAILING NULLCOLS ( no, dmy FILLER, nen, item "(:no || :nen)" <--- 取り込んだデータ同士を結合 ) こんな感じです。 | ||||
1
