[pgsql-jp: 39257] Re: oidを使いたくなった場合

Hisakazu Nakai nakai @ shinko.co.jp
2008年 2月 26日 (火) 08:37:17 JST


中井です。

Masafumi Horimoto さんは書きました:
> 本当はダメダメなのかもしれませんが、同一のレコードがいくつかあって、
> 一つだけ残して後を消したい場合にoidを使って一番若い番号以外を消す。
> などとやっていましたが、oidが使えない事に。。。
> 
> with oidとかしてテーブルを作れば良かったとのこと。
> 後の祭かも。
> 
> 何かよい方法はないものでしょうか?
> 
> 1) oidを使えるようにする。
> 2) oidを使わなくても重複のレコードを1個だけ残す。

無保証の方法ですが、order by の指定無しに select すると、
古い方から新しい方へと順番に表示されることが多いです。
一番最近に「更新」あるいは「追加」した行が最後に表示されるようです。
その性質を使って不要な行を削除してはいかがでしょうか。
不要なデータを全て削除した後、表にシーケンス番号の項目あるいは
日時の項目を追加するといいと思います。
oidは全テーブル共通なので、比較的早く番号が一巡してしまうので
お薦めしません。

-- 
-=-=-=-=  SHINKO ELECTRIC INDUSTRIES CO., LTD.           =-=-=-=-
=-=-=-=-    Research & Development Div.                  -=-=-=-=
-=-=-=-=      Infomation Technology Research Dept.       =-=-=-=-
=-=-=-=-  Name:Hisakazu Nakai          TEL:026-263-3922  -=-=-=-=
-=-=-=-=  Mail:nakai @ shinko.co.jp      FAX:026-263-4562  =-=-=-=-



pgsql-jp メーリングリストの案内