在RoR 4中调用MySQL存储过程

没有几个例子,但没有一个是非常清楚的(或在旧版本上)。

我想调用MySQL过程并检查返回状态(在rails4.2中)。我看到的最常见的方法是调用result = ActiveRecord::Base.connection.execute("call example_proc()"),但在一些地方人们写了准备好的方法result = ActiveRecord::Base.connection.execute_procedure("Stored Procedure Name", arg1, arg2)(然而它没有编译)。

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

编辑:

如何安全发送参数,第一个参数是整型,第二个是字符串,第三个是布尔型?


解决方案

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

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

相关文章