2010-10-20 74 views
2

有人可以向我解释为什么我一直得到这个PLS-00905错误的下面的简单程序?谢谢。为什么一个oracle程序无效

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 
+0

@OMG:谢谢。似乎解决了这个问题。 – Martin08 2010-10-20 20:51:31

+2

以供将来参考:运行'create或replace'后运行'SHOW ERRORS'会告诉你它有什么问题。 – 2010-10-21 02:16:06

回答

3

摆脱尾随斜线的 - 这是对的SQLPlus命令终止

相关问题