2011-04-29 3 views
0

하나의 프로 시저에서 여러 값을 사용하여 변수 값을 할당하려고했습니다.피연산자에 저장 프로 시저가 하나 있어야합니다.

DELIMITER $$ 

DROP PROCEDURE IF EXISTS `bankdb`.`charge` $$ 
CREATE PROCEDURE `bankdb`.`charge`() 
BEGIN 
    DECLARE idcust_val INT; 
    DECLARE balance_val FLOAT; 
    DECLARE balance_val1 FLOAT; 
    DECLARE balance_val2 FLOAT; 
    DECLARE productCd_val VARCHAR(10); 
    DECLARE productType_val VARCHAR(10); 
    DECLARE no_more_rows INT DEFAULT 0; 
    DECLARE num_rows INT DEFAULT 0; 

    DECLARE col_cur CURSOR FOR 
    select a.cust_id, a.avail_balance, a.product_cd, p.product_type_cd 
    from account a, product p 
    where a.product_cd = p.product_cd; 
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_rows = 1; 

    OPEN col_cur; 
    select FOUND_ROWS() into num_rows; 

    read_loop: LOOP 
    IF no_more_rows THEN 
    CLOSE col_cur; 
    LEAVE read_loop; 
    END IF; 
    FETCH col_cur INTO idcust_val, balance_val, productCd_val, productType_val; 
    SELECT idcust_val, balance_val, productCd_val; 
    IF productType_val = 'ACCOUNT' THEN 
     IF productCd_val = 'SAV' || productCd_val = 'CD' THEN 
     IF balance_val < 2000 THEN 
       SELECT (balance_val-10) INTO balance_val; 
     END IF; 
     ELSE 
     SELECT (balance_val+(balance_val*0,05)) INTO balance_val; 
     END IF; 
    ELSE 
     SELECT (balance_val-(balance_val*0,1)) INTO balance_val; 
    END IF; 
    /*UPDATE account SET avail_balance = balance_val WHERE account_id = idcust_val;*/ 
    END LOOP read_loop; 
END $$ 
DELIMITER ; 

도와주세요 : 하지만 난 "1 열 (들)을 포함해야 피연산자"이 같은 오류가 발생했습니다 이 내 코드입니다!

답변

1

소수점 ','을 '로 변경하십시오.'

0,05 -> 0.05 
0,1 - 0.1 
+0

매우 도움이되는 사람, 감사합니다. – Frenda

관련 문제