Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.misc -> Re: Can't run "execute immediate" in PL/SQL
Thanks everyone
After looking at the postings here I changed i to be
user_constraints%rowtype
but it doesnt seem to help. Im using Oracle 8.1.7 and Im invoking the
procedure by running "exec alter_sequences ('disable');".
I didnt check the init.ora parameter yet.
Guy
ni4ni_at_hotmail.com (Guy) wrote in message news:<d2eb532b.0212190158.1858d489_at_posting.google.com>...
> Hello
>
>
> I wrote a small PL/SQL procedure that should switch all referential
> constraints enabled/disabled.
> It seems very simple and it compiles just fine. But when I try to run
> it it says "Invalid Character" in line 15 (I marked the line in the
> code - the one with the execute immediate).
> I cant see anything wrong in this line.
> Can anyone see whats the problem here ?
>
> Thanks
>
> Guy
>
>
>
> CREATE OR REPLACE procedure alter_constraints (action varchar2)
> is
> cursor cons is select constraint_name,table_name from
> user_constraints where constraint_type='R';
> str varchar2(150);
> i number;
> inner_action varchar2(50);
> begin
> inner_action:=action;
> for i in cons loop
> str:='alter table '||i.table_name||' '||inner_action||' constraint
> '||i.constraint_name;
> dbms_output.put_line(str);
> -- this is the problematic line
> -- | |
> -- v v
> EXECUTE IMMEDIATE str;
> end loop;
> end;
> /
Received on Sun Dec 22 2002 - 05:16:53 CST