当前位置: 代码迷 >> Oracle管理 >> 问一个PL/SQL块结束符的有关问题
  详细解决方案

问一个PL/SQL块结束符的有关问题

热度:86   发布时间:2016-04-24 04:14:15.0
问一个PL/SQL块结束符的问题
很纳闷啊,在sqlplus里使用@a.sql执行任何SQL脚本都需要输入一个 "/"才能执行。
比如这个脚本:

在sqlplus里执行就是这样的:

按回车就一直这样等待输入,必须要按 / 才能顺利执行:

或者把反斜杠放脚本末尾也可以。
网上查了说PL/SQL块结束符是 . 或者 / 。,其中 . 只缓存不执行, / 缓存并立即执行。show all看了blockterminator是 . ,但是不管改成什么都还是得 / 才能执行。
有没有什么办法能够直接 @a.sql; 就能执行的?貌似网上都没提关于SQL脚本执行得加 / 的事。 
------解决思路----------------------
'/'是SQL*PLUS的一个命令,代表执行run,就是执行刚刚执行过的保存在缓存里的命令 ;

另外,执行bat批处理文件能够自动执行某些已经写好的sql 脚本,但是这应该不是你想了解的吧
------解决思路----------------------
你把  "/" 放到你的 a.sql 最后一行, 再到sqlplus 试试:


SQL>@a.sql;

------解决思路----------------------
/ 提交执行
------解决思路----------------------
没听说过这说法,我执行文件都是直接执行的,还是检查下是不是哪的设置有问题
------解决思路----------------------
没必要纠结这个,加个 / 就执行,一切就OK 了。
  相关解决方案