Entry: 開発小ネタ集その1 - 欠番取得SQL
開発小ネタ集その1 - 欠番取得SQL
Initial post:
2009.10.10
|
Last modified:
2009.10.10
開発小ネタ集その1。Postgresqlで、基本連番だけどたまに欠番がある場合に、欠番を再利用するSQL。
SELECT COALESCE(MIN(TBL.num), 0) + 1 as nextval FROM data AS TBL LEFT JOIN data AS TMP ON TBL.num + 1 = TMP.num WHERE TMP.num IS NULL;
PRIMARY KEY numが1,2,4,5という並びであれば3を返す。COALESCEでテーブルが空の場合にも対応。
Subscribe to my RSS feed