Alors, laisse dire que j'ai deux tableaux commandés avec le même nombre d'éléments où chaque indice de chaque tableau se réfère à l'autre au même indicerequête de mise à jour unique de deux tableaux commandés
values = [ 5, 7, 8, 9 ]
keys = ['a', 'b', 'c', 'd' ]
au lieu de faire plusieurs mises à jour dans une boucle
for thing, index in values
UPDATE table SET column1 = thing WHERE column2 = keys[index]
est-il un moyen de tirer ces tableaux dans Postgres et les utiliser dans une seule requête UPDATE
?
Quelque chose comme:
UPDATE table SET column1 = values[?] WHERE column2 = keys[?]
il ny a pas de façon directe. Vous avez besoin de convertir ces deux tableaux dans une table avec unstart http://stackoverflow.com/questions/8760419/postgresql-unnest-with-element-number –
Si vous stockez les clés et les valeurs ensemble dans un objet hstore ou json, il serait assez facile à faire mais rien de direct. – Wolph