2012-12-27 14 views
7

Jak mogę znaleźć liczbę rekordów przetwarzanych przez PostgreSQL po wykonaniu instrukcji SQL przy użyciu klasy ActiveRecord :: Base Connection?Wynik z 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) 

A może zaproponujesz lepszy sposób na zrobienie tego. Należy pamiętać, że powyższe oświadczenie dotyczące aktualizacji jest proste, aby zadawać krótkie pytania. Moje prawdziwe zapytania są "oparte na zestawie" i obejmują złożone tabele tymczasowe, uaktualnienia, instrukcje wstawiania.

Odpowiedz

4

Znaleziono odpowiedź w PG :: Klasa wyników. Jest to metoda 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 
Powiązane problemy