4列のテーブルがあります:
ID、GUID、バイナリ、タイムスタンプ。
私の目標は、バイナリの最後の 10 個の変更をデータベースに保存することです。11 番目の変更が挿入された場合は、最も古い変更を削除する必要があります。
私の現在のアプローチは、2つのステップでそれを行うことです(疑似mssql):
1) DELETE FROM mytable WHERE GUID = 'XXX' AND
ID NOT IN (SELECT TOP 9 ID FROM mytable WHERE GUID = 'XXX' ORDER BY Timestamp)
2) INSERT new binary ...
おそらく1つのステートメントで、より効率的に行う方法はありますか? mssql と postgresql の両方に互換性を持たせる方法はありますか (TOP / 制限なし)?