さて、どうして"行区切りのデータを適当な行数でまとめる"なんてことがしたかったというと
シェルスクリプトでRDBのデータを複数行更新する必要があったから。
のようなデータがあった時にこれらをキーにステータスを更新したいとしよう。
このUPDATE文を行数分発行するのはあまりやりたくないだろう。
なので、こうする。
この時に元のデータから '11111', '22222', '33333' という文字列を作りたかったのだ。
実際にはSQL文の長さ上限とか、コミットサイズとかの制限があるので、
適当なデータ数を決めて、UPDATE文を作成すればいい。
シェルスクリプトでRDBのデータを複数行更新する必要があったから。
11111 22222 33333 44444 ...
のようなデータがあった時にこれらをキーにステータスを更新したいとしよう。
UPDATE Foo SET Status = '3' WHERE ID = '11111';
このUPDATE文を行数分発行するのはあまりやりたくないだろう。
なので、こうする。
UPDATE Foo SET Status = '3' WHERE ID IN('11111', '22222', '33333');
この時に元のデータから '11111', '22222', '33333' という文字列を作りたかったのだ。
実際にはSQL文の長さ上限とか、コミットサイズとかの制限があるので、
適当なデータ数を決めて、UPDATE文を作成すればいい。
0 件のコメント:
コメントを投稿