2
저는 mysql 저장 프로 시저를 사용하여 새로 생겼습니다. 내가 를 해결할 수없는 오류가 있습니다 나는이 같은 MySQL의 쿼리 브라우저 오류 표시를 실행할 때이 내 코드알 수없는 시스템 변수 "no_more_data"Mysql 저장 프로 시저
DELIMITER $$
CREATE PROCEDURE `bankdb`.`charge`()
BEGIN
DECLARE idcust_val INT;
DECLARE balance_val FLOAT;
DECLARE productCd_val VARCHAR(10);
DECLARE loop_cntr INT DEFAULT 0;
DECLARE num_rows INT DEFAULT 0;
DECLARE col_cur CURSOR FOR
select c.cust_id, c.balance, c.product_cd
from account c;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_rows = TRUE;
OPEN col_cur;
select FOUND_ROWS() into num_rows;
read_loop: LOOP
FETCH col_cur INTO idcust_val, balance_val, productCd_val;
IF no_more_rows THEN
close col_cur;
leave read_loop;
END IF;
IF productCd_val == 'SAV' || productCd_val == 'CD' THEN
IF balance_val == 2000 THEN
balance_val = balance_val-10;
UPDATE account SET avail_balance = balance_val
WHERE account_id =idcust_val;
END IF;
END IF;
IF productCd_val == 'CHK' || productCd_val == 'SAV' || productCd_val == 'MM'
|| productCd_val == 'CD' THEN
balance_val = balance_val + (balance_val*0,05);
UPDATE account SET avail_balance = balance_val
WHERE account_id =idcust_val;
ELSE
balance_val = balance_val - (balance_val*0,1);
UPDATE account SET avail_balance = balance_val
WHERE account_id =idcust_val;
END IF;
SET loop_cntr = loop_cntr + 1;
END LOOP;
END $$
DELIMITER ;
입니다 :
스크립트 라인 : 3 알 수없는 시스템 변수 'no_more_rows'
도와주세요 !!
큰 대답, 감사합니다 – Frenda
커서를 사용하지 않도록하십시오. – Devart
이것은 여전히 오류입니다 -> 피연산자는 1 열을 포함해야합니다, 왜 ??? – Frenda