当前位置: 首页 > 知识库问答 >
问题:

sqlcl与sqlplus pl/sql的兼容性

松涵容
2023-03-14

我为这个超级轻量级的问题道歉,但是当我开始使用sqlcl作为sqlplus的潜在替代品时,我错过了一些东西。

sqlcl很有吸引力,但我很困扰,因为我不知道如何以交互方式运行匿名块。以下示例保存为小匿名块时效果良好。sql并通过@小匿名块在sqlcl中运行。sql,但原始pl/sql失败,出现以下PLS-00103。

Little-匿名-Block.sql:

BEGIN
  DBMS_OUTPUT.PUT_LINE('This anonymous-block ran in sqlcl!');
END;
/

作为脚本运行:

SQL

SQL

此匿名块在sqlcl中运行!

PL/SQL过程已成功完成。

但运行临时:

SQL

2 DBMS\u输出。PUT\u LINE('This anonymous block run in sqlcl!');

3端;

4/

给出:

从命令中的第1行开始时出错-

开始

DBMS_OUTPUTPUT_LINE('这个匿名块在sqlcl中运行!');

结束;/

PLS-00103:遇到符号“/”符号“/”被忽略。

sqlcl似乎将“/”与块终止端连接在一起;同样的命令在sqlplus中也可以正常工作。

你能告诉我,我如何在sqlcl中以交互方式运行匿名块吗?我从20160513获得了早期采用者版本。java 8.0\u 77。很抱歉,如果这个问题在sqlcl手册中,我在oracle sqlcl页面上没有找到太多可以参考的内容。

共有2个答案

佟阳飙
2023-03-14

这确实是一个错误。应该在OTN的最新版本中修复

BARRY@orcl☘ >BEGIN
  2  DBMS_OUTPUT.PUT_LINE('This anonymous-block ran in sqlcl!');
  3  END;
  4  /

PL/SQL procedure successfully completed.

BARRY@orcl☘ >l
  1  BEGIN
  2  DBMS_OUTPUT.PUT_LINE('This anonymous-block ran in sqlcl!');
  3* END;
BARRY@orcl☘ >
彭存
2023-03-14

据我所知,您发现的是一个错误。解决方法是用结束您的块。然后使用/执行缓冲区,如下所示:

 类似资料:
  • 我一直试图编写一些opengl代码,在任何地方都可以使用,但又不太限制自己。 我想在只支持opengles2的设备上使用opengles2,在支持opengl核心的设备上使用opengles2。 另外,我希望能够在运行时选择使用哪一个(当然,如果可用的话)。 我知道GLEW,但不幸的是,大多数linux distros发布的GLEW版本仍然不兼容GLES2(debian,我在看你)。它只是分割断层

  • 我想用JavaFXPorts和静态编程语言代码构建一个JavaFXAndroid应用。在JavaFXPorts项目中可以使用静态编程语言吗?下面是我的示例Gradle(版本5.6.4)项目: 注意:这段代码的问题是Kotlin运行时。。。有没有办法把所有东西捆绑在可执行Jar和Apk中? ./settings.gradle.kts /建造。格雷德尔。kts /应用/构建。格雷德尔。kts ./ap

  • 是否可以使用web3J收听infura事件?我正在尝试获取事件,但出错 我在不同的博客中读到,使用web3J无法获取过滤事件,那么使用web3J和infura获取过滤事件的替代方案是什么?

  • 问题内容: 检索具有特定类的元素数组的最佳方法是什么? 我会使用document.getElementsByClassName,但IE不支持它。 …但是IE仍然说: 对象不支持此属性或方法 有什么想法,更好的方法,错误修复? 我不希望使用任何涉及jQuery或其他“笨拙的javascript”的解决方案。 我知道了! 正如@joe提到的,该函数不是的方法。 因此,工作代码如下所示: …此外, 如果

  • 问题内容: 我在我的项目中使用,。我面临着找不到的错误。实际上,在旧的hibernate核心jar中,我们拥有此类,但在4.3.0版本中却没有。事实上我们有在4.3.0版本。但是我不确定此类在运行时如何依赖。意思是当我在应用程序中使用glassfish服务器时。 请让我知道spring 4.0.0和hibernate 4.3.0版本的兼容性,并向我推荐这两个版本的最新兼容版本。 我的代码是:dis