ActiveRecord::Base.connection.execute(sql) 的结果 - PostgreSQL

7
我该如何在使用ActiveRecord :: Base连接类执行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)

您能否建议更好的方法来处理这个问题?请记住,上述更新语句是为了简化问题而简单示例。我的实际查询是基于"集合"的,涉及复杂的创建临时表、更新、插入语句。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接