oracle - 无法从 cmd PL/SQL 中的简单查询中获得正确的结果
问题描述
我试图打印“Hello World”,但我继续返回数字 7。此外,返回 7 后,如果不重新启动 cmd 窗口,我将无法运行另一个文件。如果我按回车键,数字会增加 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 中输入,但最好修复文件以使其包含完整的语句。
推荐阅读
- ruby-on-rails - Rails:如何创建具有“belongs_to”关联的用户
- java - 在 RecyclerView 上获得错误的位置
- javascript - 如何在Photoshop中循环组?
- javascript - 在 JavaScript 错误中实现二项式分布?
- swift - DispatchSourceTimer 计划(GCD swift macOS)在应用程序隐藏 40 秒后停止
- php - 如何使用php计算某个数字在json文件中的次数?
- python - 使用 selenium python 在 Edge 上的用户配置文件
- java - How to select and view database with specific value?
- ruby-on-rails - 修改 rails 路线
- android - Android Kotlin WebView 的 Async/Await JavascriptInterface 函数