- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【SQL*Loader】固定長データのロードについて)
SQL*Loaderで固定長データをロードする方法とは?
このQ&Aのポイント
- SQL*Loaderを使用して、指定した項目を含む固定長データをデータベースにロードする方法について教えてください。
- SQL*Loaderを使用して固定長データをロードする際に、一部の項目のみを指定してロードする方法について説明してください。
- 指定した項目で固定長データをロードする際に、残りの項目が次のレコードとして認識されてしまう場合、最後の指定項目でレコードを切る方法はあるのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
「後ろに余計なデータが付いている固定長レコードを読み込みたい」ということかと 思うのですが、それであれば制御ファイルのINFILE文にRECSIZEパラメータを指定すれば いいと思います。 INFILE '読み込むファイル名' "RECSIZE xxx" で'xxx'のところにバイト数を指定するのですが、そこのバイト数として 「A~Hフィールド間のバイト数」 を指定することになります。 要は、レコードサイズの指定でI, Jフィールドを落としてしまう…という考え方です。 あるいは、「とりあえずSQL*Loaderのレベルでは全部取り込むだけ取り込んでおいて、 取り込んだテーブルから必要なフィールドだけselect文で選択し、他のテーブルに コピーして使う」というやり方もありますが、これは「いくら何でも頭が悪い」と 言われるかも知れません(苦笑)
お礼
お礼のご返事が遅れてすみません。ご回答ありがとうございます。 参考にさせていただきます。 RECSIZEという機能があるのは知りませんでした。 これでしたら出来そうです。ありがとうございます。助かります!