■1595 / inTopicNo.1) |
SQLで最小の空き番号を取得する方法 |
□投稿者/ シャノン (90回)-(2007/02/28(Wed) 11:57:46)
|
分類:[データベース全般]
Oracle 10gです。
お世話になります。
あるテーブルの列に、数値型で連続性のある(1, 2, 3のような)一意なIDが振られています。 このテーブルから末尾でないレコードを削除した後、新しいレコードを追加する際、削除したレコードのIDを再利用したいのですが、一般的な方法はありますでしょうか?
1. 最初に、IDが1, 2, 3, 4, 5というレコードがあり、 2. ID 2 と 4 を削除したことにより 1, 3, 5 となった場合 3. 次にレコードを追加するときは 2, その次は 4, 以降は 6, 7… としたい
ということです。 ループを回して先頭から1件ずつ、そのIDを持つレコードがあるかどうか…と調べていくのは避けたいです。
ぐぐってみたところ、1件だけ http://seoi.net/sql/num_blankmin.shtml 見つかったのですが、 > データが増加するほど、すごく重い処理になるため注意して下さい。 とありますし、select が5つも登場していて見るからに複雑そうです。 この方法以外に、もっと簡単な方法がありましたらご教示願います。
#こういう「最小の空き番号」って、一般的にやらないものでしょうか?
|
|