【发布时间】:2021-08-27 00:15:46
【问题描述】:
那里的例子很少,但没有一个非常清楚(或旧版本)。
我想调用 MySQL 过程并检查返回状态(在 rails 4.2 中)。我看到的最常见的方法是调用result = ActiveRecord::Base.connection.execute("call example_proc()"),但是在某些地方人们写有准备好的方法result = ActiveRecord::Base.connection.execute_procedure("Stored Procedure Name", arg1, arg2)(但是它没有编译)。
那么调用和获取 MySQL 过程状态的正确方法是什么?
编辑:
以及如何安全地发送参数,第一个参数是整数,第二个字符串和第三个布尔值?
【问题讨论】:
-
一般来说,您应该能够在给定模型的常规
where或select方法中调用存储过程:YourModel.where("YOUR_PROC(?, ?)", var1, var2) 不是更简单吗?或者你有一些额外的要求? -
如你所见,你们都有不同的方法。如果
execute_procedure已被弃用,我猜是因为某些原因(更好的方法/新方法)。底线我想要最正确的方法,之后进行程序验证(针对警告和错误)。
标签: mysql ruby-on-rails ruby-on-rails-4 rails-activerecord mysql-5.5