Disons, nous avons le my_table tableau suivant:Postgres: tandis que « table a des lignes » boucle ...
id Col1 Col2
1 some data some data
2 some data some data
3 some data some data
4 some data some data
supposons plus qu'il ya un processus de mise à jour de la table et après son exécution la table se termine par un plus petit nombre de rangées.
Nous souhaitons itérer ce processus jusqu'à ce que "my_table" ne comporte aucune ligne. Il est certain qu'après un nombre fini d'itérations du processus de mise à jour, la table n'a aucune ligne.
Comment correct est d'essayer STH comme ceci:
while (select count(id) from my_table) != 0 loop
update process
...;
end loop;
Les mises à jour dans SQL ne suppriment pas les enregistrements, ils modifient (éventuellement) les données dans les enregistrements qui existent déjà. –
oui, vous avez raison. Mon omission de mentionner que le processus de mise à jour concerne non seulement 'my_table' mais aussi 'other_table'. La mise à jour de ce dernier conduit à réduire le nombre de lignes dans le premier. Merci pour le commentaire, mais la réponse ci-dessous a attiré l'attention. –