2008年2月26日

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

中井です。

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@xxxxx FAX:026-263-4562 =-=-=-=-

投稿者 xml-rpc : 2008年2月26日 08:59
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/70356
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。