/* @BD_Piezas_PL_SQL_1.sql */ SET ECHO ON SET LINESIZE 132 SET PAGESIZE 80 SET WRAP OFF /* seleccionar los proveedores que suministran mas de una pieza */ /* creación de una tabla temporal para resultado (refProv, totPiezas) */ CREATE TABLE temp (refProv number, totPiezas number); DECLARE laRefProv number; numPiezas number; CURSOR selProv IS SELECT distinct clvProv FROM Suministrar; BEGIN OPEN selProv; LOOP FETCH selProv INTO laRefProv; EXIT WHEN selProv%NOTFOUND; SELECT count(distinct clvPieza) INTO numPiezas FROM Suministrar WHERE clvProv = laRefProv; IF numPiezas > 1 THEN INSERT INTO temp VALUES (laRefProv, numPiezas); END IF; END LOOP; COMMIT; END; . / SELECT * FROM temp; DROP TABLE temp;