Sql “怎么做?”;如果xx>;0然后;执行但不编译?

Sql “怎么做?”;如果xx>;0然后;执行但不编译?,sql,plsql,plsqldeveloper,Sql,Plsql,Plsqldeveloper,我有一个PL/SQL块,如下所示: declare L_Count number := 10; begin if L_Count > 0then dbms_output.put_line('l_Count > 0'); else dbms_output.put_line('l_Count <= 0'); end if; exception when others then dbms_outp

我有一个PL/SQL块,如下所示:

declare
    L_Count number := 10;
begin
    if L_Count > 0then
        dbms_output.put_line('l_Count > 0');
    else
        dbms_output.put_line('l_Count <= 0');
    end if;
exception
    when others then
        dbms_output.put_line('exception occurred');
end;
该语句如何执行而不编译


谢谢你的提示

执行和编译是两件不同的事情。代码块是一个匿名块,无法编译。但是,您可以执行该块。执行将显示l\u Count>0

谢谢,
再见

这种行为也不是我所期望的。但是,PL/SQL开发人员的
SQL窗口
命令窗口
模式执行此操作的方式与
SQL*Plus
的行为一致。因此,这是:

  • 不是虫子,或者
  • 一个Oracle错误,但不是一个全面的自动化错误

  • “程序窗口”到底是什么?可能Sql开发人员使用比rdbms本身更严格的本地运行解析器/词法分析器?@a_horse_with_no_name:如果你想打开一个新窗口,PL/Sql开发人员会要求“Sql窗口”、“程序窗口”、“测试窗口”等。使用程序窗口,会出现一个编译按钮(=>这是PL/Sql窗口)。使用“SQL窗口”,而不是“编译”按钮,会出现一个“执行”按钮。但如果这似乎是语法错误,它怎么能执行呢?在某种程度上,您不能执行尚未编译的代码。即使匿名块在执行之前也会被编译,即使它从未存储在任何地方。SQL开发人员在这里还做了一些其他事情。
    Unable to perform operation due to errors in source code