sqlplus与空行.txt

sqlplus与空行.txt

开发人员交给一些sql脚本,要在服务器上运行,我检查一下,没有什么问题,在测试机器运行:

1* create table t(number(10)
SP2-0734: unknown command beginning "b varchar2..." - rest of line ignored.
SP2-0042: unknown command ")" - rest of line ignored.

        打开脚本检查发现没有什么错误,唯一的不同是有一行空行在create后面,具体例子如下:

$cat a.sql

create table t(

        a number(3),
        b varchar2(10)
);

        对比上面错误发现,缺少a,开始怀疑脚本存在怪字符,在vi下打入:set list,并没有发现任何异常。删除空行,粘贴出来执行,一切正常!开始手工打入命令执行:

SQL> create table t (
2
SQL> a
SP2-0004: Nothing to append.

        可以发现在第2行回车后,跳到了SQL>提示符,退出了执行.换一句话,sql脚本在语句中不能包含空行,这个还第一次遇到!又测试一个存贮过程,发现问题有不存在。

SQL> create procedure testproc
  2
  3  as
  4  begin
  5  null;
  6  end;
  7  /

$ sqlplus scott/test | tee set.txt
SQL> show all
SQL> quit
$ grep -i blank set.txt
sqlblanklines OFF

        感觉就是这个参数控制空行行为。

SQL> drop table t purge ;
SQL> set sqlblanklines on
SQL> create table t(
  2
  3  a number(3)
  4  )
  5  /

        再次执行一切OK了。

时间: 2024-10-14 13:51:34

sqlplus与空行.txt的相关文章

[20160113]sqlplus使用问题.txt

[20160113]sqlplus使用问题.txt --在linux中使用sqlplus我自己经常遇到奇怪的问题,打入的命令无法执行,自己老是不知道什么回事,今天发现其中一个原因. --通过例子来说明: 1.环境: SCOTT@book> @ &r/ver1 PORT_STRING                    VERSION        BANNER ------------------------------ -------------- -------------------

[20161021]关于sqlplus sqlprompt设置.txt

[20161021]关于sqlplus sqlprompt设置.txt --别人的服务器没有设置sqlprompt,随手设置一下,发现一些问题. --从网上抄了下来: SYS@test> set sqlprompt "_user@_connect_identifier>" SYS@_connect_identifier> --居然变成这样.再仔细看@ _connect_identifier之间存在一个空格. SYS@_connect_identifier>set

[20131119]sqlplus颜色输出.txt

[20131119]sqlplus颜色输出.txt 昨天别人问一个sqlplus色彩输出的问题,实际上以前我自己写过一个脚本,检查rman备份的情况: 内容如下: column status format a16 column input_type format a11 column elapsed_seconds format 99999 head "ELAPSED|SECONDS" column compression_ratio format 99.99999 head &quo

[20140415]灵活定制sqlplus的linesize.txt

[20140415]灵活定制sqlplus的linesize.txt 各种显示器以及打开窗口的大小都是变化的,如果能即时修改linesize参数自动适应这种变化,那是最好的. 在linux执行: $ stty -a speed 38400 baud; rows 68; columns 237; line = 0; intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = ; eol2 = ; swtch = ; start = ^Q

[20131104]通过pipe保存sqlplus的输出.txt

[20131104]通过pipe保存sqlplus的输出.txt http://fritshoogland.wordpress.com/2013/10/31/compressing-sqlplus-output-using-a-pipe/ linux下通过pipe可以压缩保存sqlplus的输出,减少磁盘空间的占用. 例子: mknod /tmp/oracle.pipe p sqlplus -s scott/btbtms set escape on set feedback off set he

[20131108]sqlplus参数NUMWIDTH.txt

http://space.itpub.net/267265/viewspace-746988/ 曾经写过一篇blog改变show parameter control_files的显示宽度,顺便提到了show sga的显示: SQL> show sga Total System Global Area 1.2885E+10 bytes Fixed Size                  2105920 bytes Variable Size            1660947904 byte

怎么批量删除txt文件中的空行?

  怎么批量删除txt文件中的空行?下面,给大家分享一个简介的方法: @echo off set n=1 :3 if exist d:new_%n%.txt (set /a n+=1&goto 3) set file=%1 for /f "usebackq delims=" %%i in ("%file%") do ( echo %%i >>d:new_%n%.txt ) echo 处理完毕! start "" d:new_%

[20170506]fetch sqlplus arraysize.txt

[20170506]fetch sqlplus arraysize.txt http://blog.itpub.net/267265/viewspace-2138042/ --//前一阵子写的,如果设置arrarsize=3,可以看到3条3条输出. --//里面提到4秒,是因为第一次提取1条,然后在提取3条,输出3条,在输出缓存保留1条,如此循环. --//实际上使用10046跟踪也能观察到这种现象. 1.环境: SCOTT@test01p> @ ver1 PORT_STRING        

[20170617]vim中调用sqlplus.txt

[20170617]vim中调用sqlplus.txt --//以前写过一篇emacs下调用sqlplus的文章,一直想学emacs,受限制自己掌握vim,对学习它没有兴趣,原链接如下: --//http://blog.itpub.net/267265/viewspace-1309032/ --//实际上vim也有插件连接数据库,我觉得不好用,一直没这样用. --//今天在整理vim相关设置时,发现我自己以前也定义一些方法,自己也拿出来分享: noremap  <Leader>q1 Yp!!s