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

一、数据库:Oracle数据库

二、sql文件内容:

 --创建函数
CREATE OR REPLACE function fun_createuid1 return varchar2 is
Result varchar2(32);
begin
select sys_guid() into Result from dual;
return(Result);
end fun_createuid1;

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

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

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

 --创建函数
CREATE OR REPLACE function fun_createuid1 return varchar2 is
Result varchar2(32);
begin
select sys_guid() into Result from dual;
return(Result);
end fun_createuid1;
/

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

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

六、总结:

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

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

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

  

上一篇:linux profile\bashrc\bash_profile之间的区别和联系


下一篇:牛客OI周赛8-提高组A-用水填坑