Salve ragazzi ho un problema con la store procedure. questo di sotto è il codice
[code]
DROP PROCEDURE proc;
DELIMITER //
CREATE PROCEDURE proc(OUT param1 INT)
BEGIN
DECLARE finito INT default 0;
DECLARE recCodiceArticolo VARCHAR(13);
DECLARE recData date;
DECLARE recCodArtSistema INT;
DECLARE recImponibile DECIMAL(9,2);
DECLARE recTotale DECIMAL(9,2);
declare contatore INT default 0;
DECLARE cursoreCaricoMerci CURSOR FOR SELECT CODARTICOLO FROM CARICOMERCI;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000'
SET finito = 1;
SET param1=0;
OPEN cursoreCaricoMerci;
FETCH cursoreCaricoMerci INTO recCodiceArticolo;
ciclo: WHILE NOT finito DO
SET param1 = param1 +1;
SELECT A.CODARTICOLO INTO recCodArtSistema FROM ARTICOLI A, ARTICOLIDETT D WHERE A.CODARTICOLO = D.CODARTICOLO AND CODARTFORNITORE = recCodiceArticolo;
UPDATE CARICOMERCI SET CODICEARTICOLOSISTEMA = recCodArtSistema WHERE CODARTICOLO=recCodiceArticolo;
FETCH cursoreCaricoMerci INTO recCodiceArticolo;
END WHILE ciclo;
CLOSE cursoreCaricoMerci;
END;//
DELIMITER;
[code]
Per testare cosa combina la procedura gli ho inserito un paramentro intero di input
E mi restituisce come valore 2 quando invece dovrebbe restituirmi un numro molyo più grande.
Se ad esempio eseguo la query che uso per creare il cursore ho un resultset di 940 righe dove sbalio?????????
I



Rispondi quotando