• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【SQL*Loader】固定長データのロードについて)

SQL*Loaderで固定長データをロードする方法とは?

このQ&Aのポイント
  • SQL*Loaderを使用して、指定した項目を含む固定長データをデータベースにロードする方法について教えてください。
  • SQL*Loaderを使用して固定長データをロードする際に、一部の項目のみを指定してロードする方法について説明してください。
  • 指定した項目で固定長データをロードする際に、残りの項目が次のレコードとして認識されてしまう場合、最後の指定項目でレコードを切る方法はあるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • sshiba
  • ベストアンサー率69% (73/105)
回答No.1

「後ろに余計なデータが付いている固定長レコードを読み込みたい」ということかと 思うのですが、それであれば制御ファイルのINFILE文にRECSIZEパラメータを指定すれば いいと思います。  INFILE '読み込むファイル名' "RECSIZE xxx" で'xxx'のところにバイト数を指定するのですが、そこのバイト数として 「A~Hフィールド間のバイト数」 を指定することになります。 要は、レコードサイズの指定でI, Jフィールドを落としてしまう…という考え方です。 あるいは、「とりあえずSQL*Loaderのレベルでは全部取り込むだけ取り込んでおいて、 取り込んだテーブルから必要なフィールドだけselect文で選択し、他のテーブルに コピーして使う」というやり方もありますが、これは「いくら何でも頭が悪い」と 言われるかも知れません(苦笑)

Rook09
質問者

お礼

お礼のご返事が遅れてすみません。ご回答ありがとうございます。 参考にさせていただきます。 RECSIZEという機能があるのは知りませんでした。 これでしたら出来そうです。ありがとうございます。助かります!

関連するQ&A