Sie weisen einer Variablen mehrere von der Tabelle zurückgegebene Zeilen zu, was fehlschlagen wird.
Sie könnten einfach einen CURSOR FOR LOOP verwenden Dadurch wird ein impliziter Cursor erstellt, und Sie können die Namen durchlaufen:
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;
/