mysql - 在 ROR 4 中调用 MySQL 存储过程

标签 mysql ruby-on-rails ruby-on-rails-4 rails-activerecord mysql-5.5

那里的例子很少,但没有一个非常清晰(或在旧版本上)。

我想调用MySQL过程并检查返回状态(在rails 4.2中)。我看到的最常见的方法是调用 result = ActiveRecord::Base.connection.execute("call example_proc()"),但在某些地方人们写了准备好的方法 result = ActiveRecord::Base.connection.execute_procedure("存储过程名称", arg1, arg2) (但是它没有编译)。

那么调用并获取MySQL过程状态的正确方法是什么?

编辑:

如何安全地发送参数,其中第一个参数是整数,第二个字符串和第三个 bool 值?

最佳答案

Rails 4 ActiveRecord::Base 不支持 execute_procedure 方法,但 result = ActiveRecord::Base.connection 仍然有效。即

result = ActiveRecord::Base.connection.execute("call example_proc('#{arg1}','#{arg2}')")

关于mysql - 在 ROR 4 中调用 MySQL 存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31940268/

相关文章:

mysql - "subquery returns more than 1 row"错误解决方法

ruby-on-rails - Rails Assets Cloudfront fontawesome CORS

ruby-on-rails - 如何在没有 'create' 操作的情况下实现 'new' 操作

ruby-on-rails - 检查 current_user 是否是资源的所有者并允许编辑/删除操作

css - 如何使用 slim-rails gem 在 head 标签上设置 CSS 样式

mysql - solr facets 与 mysql 关系模式

mysql - 错误 #1054 - 'NEW 中的未知列 'program_id'

mysql - 在sql中将值一一添加到表中

ruby-on-rails - 从 S3 下载 Carrierwave 上传

ruby-on-rails - 在 Action Mailer 中设置实例变量?