views:

33

answers:

1

Can someone please explain to me why I keep getting this PLS-00905 error for the below simple procedure? Thank you.

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
+3  A: 

Get rid of the trailing slash - that's for SQLPlus command termination

OMG Ponies