【问题标题】:Result from ActiveRecord::Base.connection.execute(sql) - PostgreSQLActiveRecord::Base.connection.execute(sql) 的结果 - PostgreSQL
【发布时间】:2012-12-12 13:07:18
【问题描述】:

使用 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)

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

【问题讨论】:

    标签: sql ruby postgresql activerecord


    【解决方案1】:

    在 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
    

    【讨论】:

      猜你喜欢
      • 2020-11-13
      • 1970-01-01
      • 1970-01-01
      • 2012-11-20
      • 2015-04-04
      • 2016-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多