• ベストアンサー

ストアドの戻り値で配列を返す方法

お世話になります。 早速ですが、ストアドプロシージャを使用する際に 戻り値で配列を使用することは可能でしょうか? 検索方法が悪いのか、なかなかそれらしい結果が見つけられませんでした。 ご教示の程よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

>MySQLで配列を戻り値にすることはできるでしょうか? 配列を独自仕様で実装しているRDBMSや、標準SQLでもSQL99で配列が入りましたが、MySQLでは未実装です。 また、複数行を受け取れるTABLE型といったものも、MySQLでは実装されていません。

ctske
質問者

お礼

ご回答頂きましてありがとうございました。 参考になりました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>戻り値で配列を使用 おっしゃる意味がよくわかりませんが・・・ もう少し例示を交えて説明していただいた方がよろしいかと

ctske
質問者

補足

サンプル等がなくわかりづらい内容になり、 申し訳ございませんでした。 以下がサンプルになります。 ■テーブル構成・データ ・テーブル名:m_sample aaa|bbb|ccc ---+---+--- 001|あ |x 002|い |y 003|う |z ■プロシージャ:proc_get_sample DELIMITER | CREATE PROCEDURE proc_get_sample(out poAAA char(2), out poBBB char(20), out poCCC char(3)) BEGIN /* 情報の取得 */ SELECT aaa, bbb, ccc INTO poAAA, poBBB, poCCC FROM m_sample; END; | ■内容 上記のテーブル構成とデータに対して、プロシージャ「proc_get_sample」を作成しました。 CALL proc_get_sample(@poAAA, @poBBB, @poCCC); をコマンドプロンプトより実行すると、 ERROR 1172 (42000): Result consisted of more than one row とエラーが返ってきます。 戻り値が1行ではないと言われています。 戻り値に、複数行(配列)が返ってくるようにしたいのですが、 MySQLで配列を戻り値にすることはできるでしょうか? よろしくお願い致します。 ■環境 WinXP Pro MySQL 5.0.67

すると、全ての回答が全文表示されます。

関連するQ&A