ファイル - datファイルで来たデータをDBに登録したい|teratail
https://teratail.com/questions/357899
この手のDB操作はバッチ処理の基本なのですが、質問が不明確なこともあり、明快な回答がつかない
ケースが多いです。大きく処理パターンとしては、2つ。
(1)ストアード・プロシージャーでdatファイルそのものを読み込むパターン
自力でファイルのパースをしながら入力チェックして、そのままテーブルに突っ込みます。
commitはデータの整合性が取れる適切なタイミングで実施します。
(2)データロード用のコマンドで一旦別テーブルに読み込んでから処理するパターン
CSVのフォーマットなどを指定して、データロード用のコマンドで高速に別テーブルに読み込みます。
別テーブルに読み込まれたデータをストアード・プロシージャーなどで入力チェックしてから、
ターゲットのテーブルに突っ込みます。
コマンドでの読み込みはコミットタイミングを自由に決められ、入力チェックはフォーマットのみで
コマンドに依存したエラー出力になります。ストアード・プロシージャーなどによる入力チェックは
フォーマット以外のチェックになり、commitはデータの整合性が取れる適切なタイミングで実施します。
大きいデータや既存データとの整合確認など複雑な入力チェックが必要なら(2)の方がいいでしょう。
質問の要件からは外れますが、バッチ処理ではなくアプリケーション側で登録処理することも出来ます。
ただしDB側だけで処理できる(1)や(2)の方が高速です。しかし、似たような機能をアプリケーション側で
持つ場合に入力チェックの場所がアプリケーション側とDB側で重複したり共通化するとDB側に入るなど、
バッチにするとストアード・プログラムやDBへの依存度が上がります。
探検
ニュース
- 中国国営メディア「沖縄は日本ではない」… [BFU★]
- 中国国営メディア「沖縄は日本ではない」… ★2 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」 [ぐれ★]
- 【こんなの初めて…】民泊には既にキャンセルも 中国の渡航自粛で [ぐれ★]
- 俳優 高岡蒼佑「エジプト出身とかナイジェリア出身とかの人が、日本の代表顔して移民の事とか話してるの見るとなんか違う気がする」★2 [Anonymous★]
- 「稼ぐのよ!」高市総理が電話ガチャ切りで伝えたこと 鈴木憲和農林水産大臣が国政報告会に出席 自身が目指す農政の方針語る [煮卵★]
- 【悲報】台湾「中国にパンダ返還した馬鹿な国があるらしい🤭」 [616817505]
- 【高市悲報】片山さつき、円安進行を受けコメント「為替の変動を緊張感を持って見極める」 [888298477]
- 中国国営放送「日本は琉球をただちに中国に返還せよ」 キタ━━━━(゚∀゚)━━━━!!!!! [314039747]
- 自民「高市の一言でこれまで積み上げてきた関係が駄目になる。言葉の重みを分かっていない。自分でまいた種は自分で刈り取ってもらう」 [256556981]
- 【高市悲報】アメリカ戦争省「あのさ、何回シミュレートしてもわーくに中国に負けちゃうんだよね🤗」 [359965264]
- 識者「『フリーパレスチナ』とかイキってる連中が台湾の話になると『中国を怒らせるな!』ってなる。ほんと左翼の正義って薄っぺらい」 [279254606]
