Ruby on Rails と NuoDB を使用してアプリケーションを開発しており、データベースからプロシージャを呼び出しようとしています。Rails コンソールを使用してテストしていますが、次のコマンドを使用して呼び出すと、「TRUE」の応答しか得られません。
ActiveRecord::Base.connection.execute("CALL SHOW_FEEDBACKS_PRC( 'form_name' )")
私のストアドプロシージャはこれです:
CREATE PROCEDURE database_name.show_feedbacks_prc (IN P_IN_form string)
returns tmp_feedbacks (txt1 string, rating integer, comment string, created_at timestamp, updated_at timestamp)
language sql
security invoker
as
insert into tmp_feedbacks
select txt1, rating, comment, created_at, updated_at
from database_name.feedbacks
where form = p_in_form;
END_PROCEDURE
これは、特定の「フォーム」の下にある「フィードバック」のリストのみを返す単純なクエリです。
この手順は、NuoDB のコンソールを使用すると機能し、要求されたデータを表示するテーブルを返しますが、Rail のコンソールを使用して呼び出すと、SQL コマンドを実行すると「true」の応答しか返されません。
要求されたデータの配列として応答を取得することは可能ですか?どうすればよいですか?
Railsコントローラー内でループを作成するのではなく、データベース内でプロシージャを実行しようとしています。