J'essaie de porter certaines anciennes requêtes MySQL vers PostgreSQL, mais j'ai des problèmes avec celle-ci:
DELETE FROM logtable ORDER BY timestamp LIMIT 10;
PostgreSQL n'autorise pas l'ordre ou les limites dans sa syntaxe de suppression, et la table n'a pas de clé primaire, je ne peux donc pas utiliser de sous-requête. De plus, je souhaite conserver le comportement où la requête supprime exactement le nombre ou les enregistrements donnés - par exemple, si la table contient 30 lignes mais qu'elles ont toutes le même horodatage, je souhaite toujours supprimer 10, même si cela n'a pas d'importance dont 10.
Alors; comment supprimer un nombre fixe de lignes avec tri dans PostgreSQL?
Modifier: aucune clé primaire signifie qu'il n'y a pas de log_id
colonne ou similaire. Ah, les joies des systèmes hérités!
alter table foo add column id serial primary key
.