1
我在我的數據庫中有下面的表,我寫了下面的存儲過程來遍歷表。如何在MySQL中使用遊標循環表格?
當我調用這個存儲過程時,我只能得到一條記錄。
什麼可能是我所做的錯誤,以及如何解決這個問題?
+--------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+--------------+------+-----+---------+-------+
| date | date | NO | | NULL | |
| inQty | decimal(5,2) | NO | | 0.00 | |
| outQty | varchar(45) | YES | | 0.0 | |
+--------+--------------+------+-----+---------+-------+
-- --------------------------------------------------------------------------------
-- Routine DDL
-- --------------------------------------------------------------------------------
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `get_balance`()
BEGIN
DECLARE vDate DATE DEFAULT '0000-00-00';
DECLARE vInQty DECIMAL DEFAULT 0.0;
DECLARE tOutQty DECIMAL DEFAULT 0.0;
DECLARE balance DECIMAL DEFAULT 0.0;
DECLARE vvDate DATE DEFAULT '0000-00-00';
DECLARE flag INT DEFAULT 0;
DECLARE tCursor CURSOR FOR SELECT * FROM new_table;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET flag = 1;
OPEN tCursor;
REPEAT
FETCH tCursor INTO vDate, vInQty, tOutQty;
SELECT vDate, vInQty, tOutQty;
UNTIL flag
END REPEAT;
CLOSE tCursor;
END
爲什麼要使用光標? – Devart