/* @BD_Piezas_PL_SQL_2.sql */ SET ECHO ON SET LINESIZE 132 SET PAGESIZE 80 SET WRAP OFF /* contar los proveedores que suministran mas de una pieza */ VARIABLE contador NUMBER; /* especificación del bloque PL/SQL */ DECLARE laRefProv NUMBER; numPiezas NUMBER; CURSOR selProv IS SELECT distinct clvProv FROM Suministrar; BEGIN :contador := 0; 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 :contador := :contador + 1; END IF; END LOOP; COMMIT; END; / PRINT contador