首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sqlcl与sqlplus pl/sql可压缩性

sqlcl与sqlplus pl/sql可压缩性
EN

Stack Overflow用户
提问于 2016-05-18 20:12:15
回答 2查看 2.5K关注 0票数 1

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

sqlcl很吸引人,但我很困扰,因为我忽略了如何以交互方式运行匿名块。下面的示例在将其保存为Little-匿名-Block.sql并通过@Little-匿名-Block.sql在sqlcl中运行时运行良好,但原始pl/sql在下面的PLS-00103中失败。

小匿名-Block.sql:

代码语言:javascript
复制
BEGIN
  DBMS_OUTPUT.PUT_LINE('This anonymous-block ran in sqlcl!');
END;
/

作为脚本运行:

SQL>设置SERVEROUTPUT; SQL> @Little-匿名-Block.sql;这个匿名块运行在sqlcl中! 成功完成PL/SQL过程。

但是临时运行:

SQL>开始 2 DBMS_OUTPUT.PUT_LINE(‘这个匿名块运行在sqlcl!'); 3末端; [4]

给予:

从行开始的错误:1在命令中- 开始 DBMS_OUTPUT.PUT_LINE(‘这个匿名块运行在sqlcl!'); 结束;/ 请-00103:遇到符号"/“符号"/”被忽略。

sqlcl似乎是将"/“与块终止端连接在一起;在sqlplus中,相同的命令工作得很好。

您能告诉我,如何在sqlcl中交互地运行匿名块吗?我有20160513的早期采用者发行版。java 8.0_77。对于这个问题,很抱歉,如果在sqlcl手册中,我在oracle sqlcl-页上找不到什么可参考的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-03 19:36:21

我发现您可以使用exec运行匿名块,但这有其局限性(例如,所有代码都在一行上)。

据我所知,你发现的是一只虫子。解决方法是用.结束块,然后使用/执行缓冲区,如下所示:

票数 4
EN

Stack Overflow用户

发布于 2016-08-08 18:24:54

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

代码语言:javascript
复制
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☘ >
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37309233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档