【问题标题】:Unable to get correct result from simple query in cmd PL/SQL无法从 cmd PL/SQL 中的简单查询中获得正确的结果
【发布时间】:2021-09-29 22:43:52
【问题描述】:

我试图打印“Hello World”,但我继续返回数字 7。此外,返回 7 后,如果不重新启动 cmd 窗口,我将无法运行另一个文件。如果我按回车键,数字会增加 1。请解释为什么会发生这种情况以及可能的纠正方法。

【问题讨论】:

    标签: oracle plsql sqlplus


    【解决方案1】:

    / 放在文件末尾的新行上以终止 PL/SQL 匿名块。

    SET SERVEROUTPUT ON;
    
    DECLARE
      name VARCHAR2(20);
    BEGIN
      name := 'Hello World';
      DBMS_OUTPUT.PUT_LINE(name);
    END;
    /
    

    SQL/Plus 已读取您的文件,但未找到 PL/SQL 块的语句终止符,因此它继续要求更多输入以完成语句。它期望在新行上有一个 / 字符(语句的第 7 行,第一行是 DECLARE,因为 SET 命令是不同的语句),当您按下回车键时,它会移动到行语句的第 8 行并且仍然期待终止符,因此要求更多输入(并在第 9、10 和 11 行重复)。

    您可以按/ 然后输入 SQL/Plus 但最好修复文件以使其包含完整的语句。

    【讨论】:

    • 非常感谢您的精彩解释!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-24
    • 2019-11-08
    • 1970-01-01
    • 2010-09-27
    相关资源
    最近更新 更多