我正在尝试编写一个简单的 Oracle 存储过程:
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;
但是,当我尝试通过在 PL/SQL Developer 命令窗口中发出来运行该过程时execute act.skeleton
,我收到以下错误消息:
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
对象无效。我调查了错误的含义,它似乎通常是指程序中的编译错误,但由于我可以在没有程序声明的情况下运行代码,我猜声明部分是罪魁祸首。我只是不知道是什么原因造成的,我希望有人能够对此有所了解并为我指明正确的方向
谢谢,
阿什什
其他详情:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production