SQLPLUS支持前置行号

前两天看到开发版00的帖子:http://www.itpub.net/thread-1424999-1-5.htmlsqlplus这种支持前置行号的方式也是第一次看到,今天有点空,简单记录一下。

 

 

其实简单的说起来,就是一个前置行号的问题,sqlplus的编辑是支持输入行号的,不过将行号与内容放在一起,sqlplus居然也可以识别,还是第一次看到。

SQL> CREATE
  2
SQL> 2
SP2-0226:
行号 无效
SQL> 2 TABLE
SQL> L
  1 CREATE
  2* TABLE
SQL>

对于sqlplus的命令行编辑方式而言,如果直接给出行号的方式,sqlplus会将当前行置为输入的行号的这一行,由于目前输入的行并不存在,因此这里报错。

而将行号前置的做法,可以直接将输入作为目标行写入。

文章中曾经提到的空行实际上是必须的,因为空行会使前面的SQL结束,这样对于sqlplus来说,输入的数值才是前置行号,否则,这个数值就会被当做输入内容的一部分,见下面的例子:

SQL> CREATE
  2 2 T
  3 .
SQL> L
  1 CREATE
  2* 2 T
SQL>

另外,这个前置行号不一定是连续的,只要大于现有的行,就能保证新输入的结果在最后一行出现:

SQL> CREATE
  2
SQL> 5 TABLE
SQL> 10 T
SQL> 20 (ID NUMBER)
SQL> L
  1 CREATE
  2 TABLE
  3 T
  4* (ID NUMBER)

但是这种前置行号必须要递增,才能保证新输入的结果追加到sqlplus保存的SQL的尾部,否则就会改写前面的内容:

SQL> CREATE
  2
SQL> 5 TABLE
SQL> 10 T
SQL> 2 TYPE
SQL> L
  1 CREATE
  2 TYPE
  3* T

这种方式是sqlplus行编辑的一种快速添加修改指定行的方法,不过以前在用sqlplus的时候一直没有发现这种功能。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-694780/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/4227/viewspace-694780/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值