【问题标题】:why an oracle procedure is invalid为什么 oracle 程序无效
【发布时间】:2010-10-20 20:21:19
【问题描述】:

有人可以向我解释为什么我在以下简单过程中不断收到此 PLS-00905 错误吗?谢谢。

create or replace procedure copy_table(
    table_name IN varchar2, 
    database_link IN varchar2, 
    suffix IN varchar2, 
    table_owner IN varchar2)
IS
begin
    execute immediate 'create table ' || table_name || '_' || suffix || 
    ' as select * from ' || table_owner || '.' || table_name || '@' || database_link ;
end;
/


SQL> execute myschema.copy_table;
BEGIN myschema.copy_table; END;
              *
ERROR at line 1:
ORA-06550: line 1, column 15:
PLS-00905: object myschema.copy_table is invalid
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

【问题讨论】:

  • @OMG:谢谢。这似乎解决了这个问题。
  • 供以后参考:SHOW ERRORS 运行后create or replace 会告诉你它有什么问题。

标签: sql oracle ora-06550


【解决方案1】:

去掉尾部的斜杠 - 这是为了 SQLPlus 命令终止

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-06
    • 2016-07-30
    • 2023-03-07
    • 2021-08-28
    • 2015-10-10
    相关资源
    最近更新 更多