2008年2月26日

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

ありがとうございます。
参考になりました。また、問題も解決できました。

ITAGAKI Takahiro さんは書きました:

> 重複削除の SQL を書く場合、ctid が使えます。これは、行の物理位置を表します。
> 以下は、id をユニークの条件として、ctid が最大のもの以外を削除します。

なるほど!こういうのがあるわけですね。
ってことで、

> DELETE FROM test
> USING (SELECT id, max(ctid) AS ctid FROM test GROUP BY id) AS X
> WHERE X.id = test.id AND X.ctid <> test.ctid;

ちゃっかり参考にさせていただきました。

--
ホーリー・アンド・カンパニー株式会社 堀本 正文
TEL 092-736-1001 FAX 092-736-1057
URL http://www.holly-linux.com/
〒810-0074 福岡市中央区大手門2丁目1番32号 むつろビル5F

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




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