2010-10-20 75 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命令終止

相關問題