我尝试在SQL Developer上运行一些PL / SQL。它给了我一个错误,虽然相同的代码在SQL Plus中工作。无论我尝试使用哪种PL / SQL代码,此错误始终都是相同的。
可能出现什么问题?
<<outer>>
DECLARE
xy varchar2(20);
begin
<<inner>>
declare
ww varchar2(20):='welcome';
begin
select ename into xy from emp where empno=7369;
dbms_output.put_line(ww);
dbms_output.put_line(xy);
end;
end;
答案 0 :(得分:3)
我尝试了相同的代码,没有内部和外部代码,而且工作正常
inner
和outer
是关键字,是ANSI 92 SQL语法的一部分。因此,尽管这些不是保留字,但使用不是关键字的东西会更安全。 << inner_loop >>
。
我认为最主要的是在DECLARE
之外指定一个标签。标签是对程序体进行细分的方式,因此这并不是真正有意义的。将标签放在程序之外会在PL / SQL Developer中抛出ORA-06550,这比你得到的错误稍微控制一些,但我认为这是原因。