sql >> Database teknologi >  >> RDS >> PostgreSQL

Opdater flere poster i én ActiveRecord-transaktion i Rails

Sig, at du vidste, at du ville indstille tingene med id 1, 2 og 3 til at have score, 2, 8 og 64 (i modsætning til blot tilfældige tal), kunne du:

UPDATE 
  things AS t
SET
  score = c.score
FROM 
  (values
    (1, 2),
    (2, 30),
    (4, 50)
  ) as c(id, score) 
 where c.id = t.id;

Så med Rails ville du bruge ActiveRecord::Base.connection#execute at udføre en blok svarende til ovenstående, men med den korrekte værdistreng interpoleret.



  1. Sådan ændres tabel i Oracle

  2. oracle bitand funktion

  3. Hvordan finder man den gennemsnitlige tidsforskel mellem rækker i en tabel?

  4. På Duplicate Key skal du kun opdatere Null- eller tomme værdier