私は、いくつかのカーソルを持つMySQLストアドプロシージャを持っています。私は出力をクライアントに送り返すために値を出力したい。 SQLyog Enterprise。MySQLストアドプロシージャのプリントをシミュレートする方法
私はTEXTとして変数を宣言し、ループ内で連結しようとしましたが、少なくともそれをやろうとした方法では機能しません。
DECLARE _output TEXT;
DECLARE _ID INT DEFAULT 0;
DECLARE cur1 CURSOR FOR SELECT ID FROM CodeID;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
OPEN cur1;
REPEAT
FETCH cur1 INTO _ID;
IF NOT done THEN
SET _output = _ID; /*SEE ALT BELOW*/
END IF;
UNTIL done END REPEAT;
CLOSE cur1;
SELECT _output;
私が試してみた:ちょうど私の最後のフェッチされた行を与える
SET _output = _output + _ID
と
SET _output = CONCAT(_output,_ID)
を彼らの両方がちょうどNULL
SET _output = _ID;
を返します。それは助けになるが、私が望んでいたものではない。
MySQLストアドプロシージャでMySQLプリントを再現するために、各フェッチされた行出力を画面に表示させる最も良い方法は何ですか?
はそれが '= CONCAT(_output、 ""、_ID)を_output設定しないでください;' そうでなければ、それは唯一の最後のIDを持っています – Marcus