0

MYSQL で次の SP を作成しました

CREATE PROCEDURE usp_BookDetailsCount(OUT bookCount INT)
BEGIN
       SELECT count(*) INTO bookCount 

       FROM books;

       SELECT bookCount;
END $$

そして、レール 3.2.8 を使用して SP out パラメータ値を取得しようとしています。

モデルの私のコード

count = 0 
 r = ActiveRecord::Base.connection.select_value("CALL usp_BookDetailsCount(OUT count)")   
 return count

ブラウザで次のエラーが発生しました

Mysql::Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OUT count)' at line 1: CALL usp_BookDetailsCount(OUT count)

しかし、レールの OUT パラメータなしでストアドプロシージャの値を取得できます

4

1 に答える 1

0

残念ながら、ストアド プロシージャと対話するための特定の AR API メソッドはありません。#execute を試してください:

http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/DatabaseStatements.html#method-i-execute

于 2012-10-15T07:54:01.037 に答える