Está en la página 1de 4

Descripcin de la Tabla, Insercin y select de los datos.

Procedimiento y Cursor:
Llamado ( CALL ) y salida de datos:

CREATE TABLE nota


(
ci INT(12) NOT NULL,
nom CHAR(40) NOT NULL,
codmat VARCHAR(6) NOT NULL,
n1 INT(2) NOT NULL,
n2 INT(2) NOT NULL,
PRIMARY KEY(ci)
);

INSERT INTO nota VALUES ('17502788','Daniel','I4004','14','20');


INSERT INTO nota VALUES ('12817242','Lino','I4004','16','08');
INSERT INTO nota VALUES ('11831792','Jesus','I4004','10','15');
INSERT INTO nota VALUES ('14521452','Carla','I4004','18','17');
INSERT INTO nota VALUES ('15296157','Luddy','I4004','18','16');

DROP PROCEDURE IF EXISTS actNotas;

DELIMITER //
CREATE PROCEDURE actNotas(IN inota INT(2)
) BEGIN

DECLARE c_ced INT(12);


DECLARE c_nom CHAR(40);
DECLARE c_codmat VARCHAR(6);
DECLARE c_nota INT(2);

DECLARE actNotascursor CURSOR FOR


SELECT ci,nom,codmat,n1
FROM nota
WHERE n1 < inota;

OPEN actNotascursor;
LOOP
FETCH actNotascursor INTO c_ced,c_nom,c_codmat,c_nota;

UPDATE nota SET n1=inota


WHERE n1 = c_nota;
SELECT
'Nota actualizada:',inota,
'Codigo Materia',c_codmat,
'Nombre:',c_nom,
'Cedula',c_ced;

SELECT
'Nota previa:',c_nota,
'Codigo Materia',c_codmat,
'Nombre:',c_nom,
'Cedula',c_ced;

END LOOP;

CLOSE actNotascursor;
END//
DELIMITER ;

También podría gustarte