我为这个超级轻量级问题向前道歉,但是当我开始使用sqlcl作为sqlplus的潜在替代品时,我遗漏了一些东西。
sqlcl很引人注目,但我很困惑,因为我错过了如何以交互方式运行匿名块。以下示例在保存为Little-Anonymous-Block.sql时运行正常,并通过@ Little-Anonymous-Block.sql在sqlcl中运行,但原始pl / sql因以下PLS-00103而失败。
小-匿名-Block.sql:
BEGIN
DBMS_OUTPUT.PUT_LINE('This anonymous-block ran in sqlcl!');
END;
/
以脚本身份运行:
SQL> SET SERVEROUTPUT ON;
SQL> @小 - 匿名Block.sql;
这个匿名块在sqlcl中运行!
PL / SQL程序已成功完成。
但是运行ad-hoc:
SQL> BEGIN
2 DBMS_OUTPUT.PUT_LINE('这个匿名块在sqlcl中运行!');
3结束;
4 /
给出:
从命令行中的第1行开始出错 -
BEGIN
DBMS_OUTPUT.PUT_LINE('这个匿名块在sqlcl中运行!');
END; /
PLS-00103:遇到符号“/”符号“/”被忽略。
sqlcl似乎将“/”与块终止END结合在一起; 同样的命令在sqlplus中工作正常。
您能告诉我,如何在sqlcl中以交互方式运行匿名块?我从20160513获得了早期采用者版本.java 8.0_77。对于这个问题的道歉,如果它在sqlcl手册中,我在oracle sqlcl-page上找不到太多东西。
答案 0 :(得分:3)
答案 1 :(得分:2)
这确实是一个错误。它应该在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☘ >