问题描述
Exec('select * from dual ' );
显示无效的Sql查询。这是有效的查询吗?如果没有,请问原因和解决办法?
解决方法
EXEC
是一个SQL * Plus命令,用于运行PL / SQL代码(通常是过程)。
但是,如果您坚持从双重选择中选择,那就没问题了。方法如下:由于必须是PL / SQL,因此声明一个变量并选择它。由于DUAL
具有一列(名为DUMMY
),因此可以正常工作:
SQL> var l_dum varchar2;
SQL> exec select * into :l_dum from dual;
PL/SQL procedure successfully completed.
SQL> print l_dum
L_DUM
--------------------------------
X
SQL>
我们通常 做的是
SQL> select * from dual;
D
-
X
SQL>
您的错误?单引号,没有变量可供选择。
, EXEC[UTE] IMMEDIATE
必须在匿名块或过程中使用。
例如:
Begin
Execute Immediate 'Select * From Dual';
End;
这是一个简单的Youtube说明: https://laravel.com/docs/master/http-client#authentication