【转】linux下使用sqlplus执行包含语句块的sql文件,运行时会不断显示行号,而在plsqldev中能执行

一、数据库:Oracle数据库

二、sql文件内容:

1 --创建函数
2 CREATE OR REPLACE function fun_createuid1 return varchar2 is
3   Result varchar2(32);
4 begin
5   select  sys_guid() into Result from dual;
6   return(Result);
7 end fun_createuid1;

三、使用sqlplus执行sql脚本,运行时会不断显示行号,显示不了结果输出,如下图所示:

四、解决方法:在sql脚本的最后用'/'符号结尾。

1 --创建函数
2 CREATE OR REPLACE function fun_createuid1 return varchar2 is
3   Result varchar2(32);
4 begin
5   select  sys_guid() into Result from dual;
6   return(Result);
7 end fun_createuid1;
8 /

五、再次执行sql脚本,显示创建成功。

六、总结:

原因:sqlplus中没有遇到结束的标识,一直停留在语句编辑的地方。

解决方法:如果sql脚本包含了begin...end语句块,在sql脚本的最后用"/"符号结尾

转载自《https://blog.csdn.net/weixin_42273374/article/details/80735919

  

原文地址:https://www.cnblogs.com/codingmengmeng/p/11047358.html