Yo lo pondría de otra forma, para empezar a probar:
Código SQL:
Ver original/*----declaracion---*/
DECLARE
CURSOR cursor1
IS
SELECT nombre
FROM platos
WHERE tipo = 'postre'
HAVING precio = MIN (precio);
V_postre VARCHAR2 (20);
BEGIN
/*----apertura---*/
OPEN cursor1;
/*----recogida de datos---*/
LOOP
FETCH cursor1 INTO V_postre;
EXIT WHEN cursor1%NOTFOUND;
DBMS_OUTPUT.put_line (v_postre);
END LOOP;
/*----cierre del cursor--*/
CLOSE cursor1;
END;
/