Я пытаюсь написать простой Oracle хранимой процедуры:Простой Oracle хранимой процедуры получения Invalid ошибка объекта
CREATE OR REPLACE PROCEDURE act.skeleton
IS
DECLARE
v_rowCount NUMBER;
BEGIN
SELECT COUNT(1) INTO v_rowCount FROM ex.emp;
DBMS_OUTPUT.PUT_LINE(v_rowCount);
END;
Однако, когда я пытаюсь & запустить процедуру выдачи execute act.skeleton
в командном окне Разработчик PL/SQL, я получить следующее сообщение об ошибке:
ORA-06550: line 1, column 11:
PLS-00905: object ACT.SKELETON is invalid
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
Я пытался просто запустить код без создания оператора процедуры & успешно работает с отображаемым на выходе. Я пробовал оба варианта CREATE OR REPLACE PROCEDURE IS
& CREATE OR REPLACE PROCEDURE AS
, но я все равно получаю ту же ошибку.
Я не уверен, что это имеет какое-либо отношение к авторизации или видимости процедуры, когда я пытаюсь ее выполнить или что вызывает недопустимый объект act.skeleton
. Я посмотрел, что означает ошибка &. Кажется, это обычно относится к ошибке компиляции в процедуре, но поскольку я могу запустить код без объявления процедуры, я предполагаю, что часть объявления является виновником. Я просто не знаю достаточно, чтобы выяснить, что является причиной этого, и я надеялся, что кто-то сможет пролить некоторый свет на это и мне точку в правильном направлении
Спасибо,
Ashish
Другие детали:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
Нравится это -> СОЗДАТЬ ИЛИ ЗАМЕНИТЬ ПРОЦЕДУРУ act.skeleton IS v_rowCount NUMBER; BEGIN SELECT COUNT (1) INTO v_rowCount FROM ex.emp; DBMS_OUTPUT.PUT_LINE (v_rowCount); КОНЕЦ; – ukanth
Спасибо @Charles & @UK! Это сработало! – tundal45