繁体   English   中英

如何在sql*plus中执行动态sql语句

[英]How to execute a dynamic sql statement in sql*plus

我想通过使用动态 sql 语句来修改一个值。 该示例被选择为可重现的。 我知道我不需要动态 sql 语句。

variable a number =1;
print a 

1

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

PL/SQL 过程成功完成。

 print a

1

返回 1 而不是 2,这意味着我的语句没有被执行。

那么,如何执行呢?

INTO应该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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM