sql
  • ruby
  • postgresql
  • activerecord
  • 2012-12-27 10 views 7 likes 
    7

    Come posso trovare il numero di record elaborati da PostgreSQL dopo l'esecuzione di un'istruzione SQL utilizzando la classe ActiveRecord :: Base Connection?Risultato da ActiveRecord :: Base.connection.execute (sql) - PostgreSQL

    temp_sql = "UPDATE table_a SET column_a ='abc' WHERE column_b = 1" 
    result = ActiveRecord::Base.establish_connection(@db).connection.execute(temp_sql) 
    

    Oppure puoi suggerire un modo migliore per farlo. Si prega di tenere presente che sopra la dichiarazione di aggiornamento è semplice per mantenere la domanda breve. Le mie vere query sono "basate su set" e comportano complesse tabelle temporanee di creazione, aggiornamento, inserimento di istruzioni.

    risposta

    4

    Trovato la risposta in PG :: Classe risultato. È il metodo cmd_tuples;

    temp_sql = "UPDATE table_a SET column_a ='abc' WHERE column_b = 1" 
    result = ActiveRecord::Base.establish_connection(@db).connection.execute(temp_sql) 
    number_of_records = result.cmd_tuples 
    
    Problemi correlati