2010-10-20 17 views
2

Quelqu'un peut-il m'expliquer pourquoi je continue à obtenir cette erreur PLS-00905 pour la procédure ci-dessous simple? Je vous remercie.pourquoi une procédure Oracle n'est pas valide

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: merci. cela semble résoudre le problème. – Martin08

+2

pour référence future: "SHOW ERRORS" après l'exécution de 'create ou replace' vous dira ce qui ne va pas. –

Répondre

3

Débarrassez-vous de la barre oblique - qui est pour la terminaison de commande SQLPlus