PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Memperbarui tabel gabungan secara massal dengan ActiveRecord update_all dan Rails 4

Sejak Chat.update_all akan menambahkan UPDATE chats SET... satu-satunya cara yang dapat saya pikirkan untuk mendapatkan Rails untuk melakukan pembaruan dengan alias (UPDATE chats AS c ) adalah dengan menggunakan connection.update dan string sql:

Chat.connection.update(Q%{
  UPDATE chats AS c 
  SET email = m.source_name
  FROM messages AS m
  WHERE c.id = m.chat_id 
    AND m.created_at >= '2014-10-10'
});

Tidak bagus jika Anda ingin menghindari fragmen SQL, tetapi menggunakan gabungan seperti dalam pertanyaan Anda mungkin satu-satunya cara jika Anda ingin menggunakan AREL.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kesalahan postgres nilai tidak valid untuk parameter TimeZone:UTC

  2. postgres - KESALAHAN:operator tidak ada

  3. ver.2 PyGreSQL ERROR:from _pg import * ImportError:DLL load failed:Modul yang ditentukan tidak dapat ditemukan

  4. Siapkan Pembungkus Data Asing Mysql di Postgresql

  5. Ambil postingan dari pengguna yang tidak memblokir