Sql PLS-00103:遇到符号“&&引用;当预期以下情况之一时

Sql PLS-00103:遇到符号“&&引用;当预期以下情况之一时,sql,plsql,Sql,Plsql,PLS-00103:在预期以下情况时遇到符号“&” 代码: 我不知道为什么在我没有发现任何错误的情况下会收到此消息。Oracle Live SQL是一个用于尝试SQL和PL/SQL的工具,但它不支持替换变量语法(&var.) 相反,您可以创建表,用数据填充它们,然后使用它们运行SQL或PL/SQL,例如: create table inputs (num number); insert into inputs values (10); Declare num number; Begin se

PLS-00103:在预期以下情况时遇到符号“&”

代码:


我不知道为什么在我没有发现任何错误的情况下会收到此消息。

Oracle Live SQL是一个用于尝试SQL和PL/SQL的工具,但它不支持替换变量语法(
&var.

相反,您可以创建表,用数据填充它们,然后使用它们运行SQL或PL/SQL,例如:

create table inputs (num number);

insert into inputs values (10);

Declare
num number;
Begin
select num into num from inputs;
if num > 0 then
dbms_output.put_line('Hello');
end if;
end;
/

(顺便说一句,我必须修正
'Hello'
中的引号,这样才能起作用)

Oracle Live SQL是一种用于尝试SQL和PL/SQL的工具,但它不支持替换变量语法(
&var.

相反,您可以创建表,用数据填充它们,然后使用它们运行SQL或PL/SQL,例如:

create table inputs (num number);

insert into inputs values (10);

Declare
num number;
Begin
select num into num from inputs;
if num > 0 then
dbms_output.put_line('Hello');
end if;
end;
/

(顺便说一句,我必须修复
'Hello'
周围的引号才能使其生效)

可能是剪切/粘贴错误,但您使用的是Microsoft的智能引号,而不是单个引号。您需要确保这在实际程序中是固定的。在执行此块之前是否还运行了其他操作?会话是否已
设置了DEFINE OFF
运行?如果IDE在将块提交到PL/SQL引擎之前没有进行替换,这将是Oracle引发的错误。您是否从SQL*Plus会话运行此操作?(或者在代码编辑窗口中输入类似的命令,可能是SQL Developer或Toad?)输入SQL*Plus命令
show define
(不能使用分号,因为它不是SQL或PL/SQL命令);它应该以
定义“&”(十六进制26)
或类似的方式进行响应。如果没有,则没有将
&
声明为定义符号(替换变量的标记)。在运行匿名块之前执行
set define&
。@mathguy我正在使用oracle live。我不知道什么是“oracle live”;请注意,替换变量的
&
符号不是SQL的一部分,它是特定于SQL*Plus的。oracle live可能不知道替换变量,或者有不同的实现方法。我会在谷歌上搜索“oracle live substitution variables”,看看它带来了什么。可能是剪切/粘贴错误,但你有微软的智能引号,而不是一个引号。您需要确保这在实际程序中是固定的。在执行此块之前是否还运行了其他操作?会话是否已
设置了DEFINE OFF
运行?如果IDE在将块提交到PL/SQL引擎之前没有进行替换,这将是Oracle引发的错误。您是否从SQL*Plus会话运行此操作?(或者在代码编辑窗口中输入类似的命令,可能是SQL Developer或Toad?)输入SQL*Plus命令
show define
(不能使用分号,因为它不是SQL或PL/SQL命令);它应该以
定义“&”(十六进制26)
或类似的方式进行响应。如果没有,则没有将
&
声明为定义符号(替换变量的标记)。在运行匿名块之前执行
set define&
。@mathguy我正在使用oracle live。我不知道什么是“oracle live”;请注意,替换变量的
&
符号不是SQL的一部分,它是特定于SQL*Plus的。oracle live可能不知道替换变量,或者有不同的实现方法。我会在谷歌上搜索“oracle live替换变量”,看看它能带来什么。