Я пытаюсь написать анонимный блок в PL/SQL. Проблема в том, что я продолжаю получать ошибку ORA-20000 IN DBMS_DDL.ALTER_COMPILE('PROCEDURE',NULL,'object_name'); Я понял, что ему не нравится ссылка object_name, потому что когда я добавляю конкретное имя, он запускается. Мой вопрос заключается в том, как мне сослаться на столбец object_name в user_objects, чтобы выбрать все имена object_name в моем курсоре. Я добавил свой код для справки.
DECLARE
cursor cur_invalid IS
SELECT object_name,status
FROM user_objects
Where object_type = 'PROCEDURE'
AND status = 'INVALID';
invalid cur_invalid%ROWTYPE;
BEGIN
OPEN cur_invalid;
LOOP
FETCH cur_invalid INTO invalid;
EXIT WHEN cur_invalid%NOTFOUND;
DBMS_DDL.ALTER_COMPILE('PROCEDURE',NULL ,'object_name');
END LOOP;
CLOSE cur_invalid;
END;