我試圖讓它像那樣,但它只返回單行。 第一次選擇後,程序退出。什麼是創建計數的MySQL程序的正確方法?
DROP PROCEDURE IF EXISTS testProc;
DELIMITER $$
CREATE PROCEDURE testProc(start_stamp INT, end_stamp INT, step INT)
BEGIN
DECLARE tmpStep INT;
SET tmpStep = start_stamp;
WHILE tmpStep < end_stamp DO
SELECT tmpStep;
SET tmpStep = tmpStep + step;
END WHILE;
END$$
DELIMITER ;
CALL testProc (1,10,1);
期望的行爲是在這種情況下將數字從1返回到10。
在我的最後工作正常,但你將它們作爲單獨的結果集返回。你如何執行此代碼?從連接器或使用命令行工具? –
@MatsKindahl你是對的,連接器只返回第一個選擇。我如何將所有結果作爲單個結果集返回? –
它在連接器之間有所不同。對於C API,您可以使用'mysql_more_results'和'mysql_next_result'遍歷結果集(http://dev.mysql.com/doc/refman/5.5/en/c-api-multiple-queries.html)。 –