アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。

早速ですが、ストアドプロシージャを使用する際に
戻り値で配列を使用することは可能でしょうか?

検索方法が悪いのか、なかなかそれらしい結果が見つけられませんでした。

ご教示の程よろしくお願い致します。

A 回答 (2件)

>MySQLで配列を戻り値にすることはできるでしょうか?



配列を独自仕様で実装しているRDBMSや、標準SQLでもSQL99で配列が入りましたが、MySQLでは未実装です。
また、複数行を受け取れるTABLE型といったものも、MySQLでは実装されていません。
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/06/10 13:36

>戻り値で配列を使用



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

この回答への補足

サンプル等がなくわかりづらい内容になり、
申し訳ございませんでした。
以下がサンプルになります。


■テーブル構成・データ
・テーブル名: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

/* 情報の取得 */
SELECTaaa, bbb, ccc
INTOpoAAA, poBBB, poCCC
FROMm_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

補足日時:2009/06/09 11:51
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す