DROP PROCEDURE IF EXISTS CURSOR_test;
delimiter //
#創建名為xw的存盤程序
CREATE PROCEDURE xw()
BEGIN
#宣告三個變數
DECLARE vend_id VARCHAR(255);
DECLARE prod_id VARCHAR(255);
DECLARE prod_price VARCHAR(255);
#遍歷資料結束標志
DECLARE done INT DEFAULT FALSE;
#定義一個名為mycursor的游標
DECLARE mycursor CURSOR FOR SELECT * FROM abcd;
#將結束標志系結到游標
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=TRUE;
#打開游標
OPEN mycursor;
#開始回圈
read_loop:LOOP
FETCH mycursor INTO vend_id,prod_id,prod_price;
IF done THEN
LEAVE read_loop;
END IF;
INSERT INTO abcd VALUES(vend_id,prod_id,prod_price);
END LOOP read_loop;
#關閉游標
CLOSE mycursor;
END;//
delimiter ;
CALL xw();
SELECT * FROM abcd;
初學者,為什么每次運行回圈次數都不一樣
uj5u.com熱心網友回復:
INSERT INTO abcd VALUES(vend_id,prod_id,prod_price);所以不一樣才是對的
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/84072.html
標籤:MySQL
上一篇:innodb_flush_log_at_trx_commit 和 binlog_group_commit_sync_delay 是否沖突?
