0
有人可以告訴我我錯在哪裏嗎?MySQL存儲過程導致錯誤
此過程返回附近
@recuperato = @recuperato - saldofattura;
我的錯誤錯誤更新變量@recuperato
?
感謝所有
DELIMITER //
DROP PROCEDURE IF EXISTS fatture_lettere_retail//
CREATE PROCEDURE fatture_lettere_retail (idcontratto INT(11))
BEGIN
DECLARE finito INT default 0;
DECLARE idfattura INT default 0;
DECLARE saldofattura DECIMAL(10,2);
DECLARE cur1 CURSOR FOR SELECT idfattura,saldofattura FROM fatture_lettere_isa;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000'
SET finito = 1;
SET @recuperato=(SELECT SUM(valorea)-SUM(valorer) FROM ImportiContratto WHERE idcontratto=idcontratto AND idimporto=1);
ciclo: LOOP
SET finito = 0;
FETCH cur1 INTO idfattura,saldofattura;
IF finito THEN
LEAVE ciclo;
END IF;
IF (@recuperato-saldofattura>=0) THEN
@recuperato = @recuperato-saldofattura;
DELETE FROM fatture_lettere_isa WHERE idfattura=idfattura;
ELSE
UPDATE fatture_lettere_isa SET [email protected];
LEAVE ciclo;
END IF;
END LOOP ciclo;
CLOSE cur1;
END; //
DELIMITER;
你能和我們分享確切的錯誤信息嗎?但我想你錯過了@recuperato = @ recuperato-saldofattura開頭的SET關鍵字;線。 – Shadow
嗨,這是錯誤消息:「錯誤1064(42000):您的SQL語法有錯誤;請查看與您的MySQL服務器版本相對應的手冊,以找到正確的語法以在'@ recuperato = @ recuperato-saldofattura; 在第25行刪除F' 「謝謝 – user5502522
然後嘗試在該行的開頭添加關鍵字SET:SET @recuperato = @ recuperato-saldofattura; – Shadow