【发布时间】:2009-03-09 17:35:59
【问题描述】:
我有一个带有几个游标的 MySQL 存储过程。我想打印一个值以将输出发送回客户端。 SQLyog Enterprise.
我尝试将变量声明为 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 打印的最佳方法是什么?
【问题讨论】: