Ver Mensaje Individual
  #5 (permalink)  
Antiguo 24/03/2009, 02:02
morillortega
 
Fecha de Ingreso: febrero-2008
Mensajes: 37
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Ayuda para crear un procedimiento

Buenas.

Realicé el procedimiento como me sugirió "gnzsoloyo" pero me daba el mismo error: "Variable or condition declaration after cursor or handler declaration", y no consigo saber porque me da este error. Asi que me puse a pensar para poder hacer la misma operación pero de forma más sencialla sin tener que crear una tabla temporal intermedia, pero me continua devolviendo el mismo error.

el codigo que tengo actualmente es:


CREATE PROCEDURE `new_proc`()
NOT DETERMINISTIC
SQL SECURITY DEFINER
COMMENT ''
BEGIN
DECLARE DONE INT DEFAULT O;
DECLARE C1 CURSOR FOR SELECT C_PROVINCIA, C_MUNICIPIO, C_POSTAL FROM MUNICIPIOS;
DECLARE PROVINCIA VARCHAR(5);
DECLARE MUNICIPIO VARCHAR(5);
DECLARE CP VARCHAR(5);

DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;


OPEN C1;

REPEAT
FETCH C1 INTO PROVINCIA, MUNICIPIO, CP ;

IF NOT DONE THEN

UPDATE `municipios`
SET C_MUNICIPIO=CONCAT(PROV,MUNI)
WHERE C_PROVINCIA=PROV AND C_POSTAL=CP
END IF
UNTIL DONE END REPEAT;

END ;


¿Alguien sabe por qué da el error: "Variable or condition declaration after cursor or handler declaration"?


Un saludo.