Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Can't run "execute immediate" in PL/SQL

Can't run "execute immediate" in PL/SQL

From: Guy <ni4ni_at_hotmail.com>
Date: 19 Dec 2002 01:58:39 -0800
Message-ID: <d2eb532b.0212190158.1858d489@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 Thu Dec 19 2002 - 03:58:39 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US