如果我在下面的查询中查询,则报错

问题描述

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...