sql >> Databasteknik >  >> RDS >> PostgreSQL

Uppdatera flera poster i en ActiveRecord-transaktion i Rails

Säg att du visste att du ville ställa in saker med id 1, 2 och 3 för att ha poäng, 2, 8 och 64 (i motsats till bara slumpmässiga siffror), kan 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 skulle du använda ActiveRecord::Base.connection#execute för att exekvera ett block som liknar ovanstående, men med korrekt värdesträng interpolerad.



  1. Hur man skapar en MySQL-databas med kommandoradsgränssnittet (CLI)

  2. Db::Instans prestashop

  3. Hur man villkorligt summerar två kolumner i PostgreSQL 9.3

  4. Oracle 11.2 Windows kan inte startas med två rader