我为这个超轻量级的问题预先道歉,但是当我开始使用 sqlcl 作为 sqlplus 的潜在替代品时,我遗漏了一些东西。
sqlcl 是引人注目的,但我很担心我错过了如何以交互方式运行匿名块。以下示例在保存为 Little-Anonymous-Block.sql 并通过 @Little-Anonymous-Block.sql 在 sqlcl 中运行时工作正常,但原始 pl/sql 失败并出现以下 PLS-00103。
小匿名块.sql:
BEGIN
DBMS_OUTPUT.PUT_LINE('This anonymous-block ran in sqlcl!');
END;
/
作为脚本运行:
SQL> 设置服务器输出;
SQL> @Little-Anonymous-Block.sql;
这个匿名块在 sqlcl 中运行!
PL/SQL 过程成功完成。
但是临时运行:
SQL> 开始
2 DBMS_OUTPUT.PUT_LINE('这个匿名块在 sqlcl 中运行!');
3 结束;
4 /
给出:
从行开始的错误:命令中的 1 -
开始
DBMS_OUTPUT.PUT_LINE('这个匿名块在 sqlcl 中运行!');
结尾;/
PLS-00103:遇到符号“/”符号“/”被忽略。
sqlcl 似乎将“/”与块终止 END 连接起来;相同的命令在 sqlplus 中运行良好。
你能告诉我,如何在 sqlcl 中交互式运行匿名块?我从 20160513 获得了早期采用者版本。java 8.0_77。抱歉,如果它在 sqlcl 手册中,我在 oracle sqlcl-page上找不到太多内容。