7

使用 ActiveRecord::Base Connection 类执行 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)

或者你能建议更好的方法来做到这一点。请记住,上面的更新声明是一个简单的保持问题简短的声明。我真正的查询是“基于集合”的,涉及复杂的创建临时表、更新、插入语句。

4

1 回答 1

4

在 PG::Result 类中找到了答案。是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
于 2012-12-27T06:02:29.260 回答