Stai assegnando più righe restituite dalla tabella a una variabile, che avrà esito negativo.
Potresti semplicemente usare un CURSOR FOR LOOP che creerà un cursore implicito e potrai scorrere i nomi:
CREATE OR REPLACE PROCEDURE sp_market IS
BEGIN
FOR i IN (
SELECT field_name
FROM pld_medicare_config
)
LOOP
-- Your logic goes here
dbms_output.put_line(i.field_name);
END LOOP;
END;
/