分类: Oracle
2012-05-19 23:11:01
默认情况下,在sqlplus中运行的脚本,如包含空行,sqlplus会不认的,对sqlplus空行的出现,最常见的有两种形式,一种是sql语句中有空行,另一种是sql后有空行,如下:
sqlplus运行的sql语句中有空行
sqlplus运行sql语句中无空行,但sql语句与分号(结束符)有空行
默认情况下,sqlplus遇空行的处理结果:
对于上述两种空行,sqlplus处理方式差不多,第一种只能在sql语句前加上set sqlblanklines on,sqlplus就会正确处理空行;
对于第二种情况,可以加set sqlblanklines on,也可以将分号改为 /,sqlplus就会正确处理空行。
在脚本中加上set sqlblankline on前后,sqlplus遇空行的处理结果:
dw@dw>@a1.sql
dw@dw>set sqlblankline off
dw@dw>select sysdate
2
dw@dw>from
SP2-0042: 未知命令 “from” – 其余行忽略。
dw@dw>
dw@dw>dual
SP2-0042: 未知命令 “dual” – 其余行忽略。
dw@dw>/
select sysdate
*
第 1 行出现错误:
ORA-00923: 未找到要求的 FROM 关键字
dw@dw>set sqlblankline on
dw@dw>select sysdate
2
3 from
4
5 dual;
SYSDATE
——————-
2011-06-27 23:42:32
已选择 1 行。
如果在sql结尾出现空行,可以用/代替分号,也可以完成对sqlplus 空行的处理。