Home > Mobile >  how to execute a dynamic sql statement in sql*plus
how to execute a dynamic sql statement in sql*plus

Time:06-01

I would like to modify a value by using a dynamic sql statement. The example is choosen to be reproductible. I know that I don't need a dynamic sql statement for that.

variable a number =1;
print a 

1

exec execute immediate 'select 2 into :a from dual'

PL/SQL procedure successfully completed.

 print a

1

1 is returned instead of 2. It means that my statement wasn't executed. What should I do?

CodePudding user response:

INTO should be out of execute immediate:

SQL> var a number = 1;
SQL> print a

         A
----------
         1

SQL> exec execute immediate 'select 2 from dual' into :a;

PL/SQL procedure successfully completed.

SQL> print a

         A
----------
         2

SQL>
  • Related