您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
oracle-sqlplus缓冲区操作
发布时间:2017-11-23 14:54:20编辑:雪饮阅读()
先启动例程
startup
list或l命令可以查询缓存区,list命令将执行的命令记录缓冲区
缓冲区中每行命令都有行号。
缓冲区每次只记录一条历史命令(该命令可以是多行)。
/:
该命令会执行缓存区,将缓存区整体当做命令执行。
示例:
select 3 from
该命令由于没有写分号,所以回车后不会直接执行,而是进入缓冲区后就停下了,停下后若你继续直接回车则没有任何效果,只是存储到了缓冲区,但是如果你输入分号后回车则直接执行了。
无论如何你直接执行,或者无论你在缓冲区中做了两种选择的任何一个选择,最后该命令都会进入缓冲区。
命令/将会把缓冲区的代码执行,如这里输出结果则是:
ERROR at line 1:
ORA-00923: FROM keyword not found where expected
该结果是报错的,这是因为缓冲区的命令本来就不是完整的命令。
append:
append命令可以给缓冲区添加内容。
示例:
append dual
该命令执行后缓冲区的命令就变成了select 3 from dual。
dual 确实是一张表.是一张只有一个字段,一行记录的表.
习惯上,我们称之为'伪表'.因为他不存储主题数据.
然后再次执行/结果如:
3
----------
3
change:
change可以替换缓冲区内容。
示例:
change /3 from/3,4 from
这样缓冲区内容就变成了select 3,4 from dual
然后执行命令/结果为:
3 4
---------- ----------
3 4
命令换行:
示例:
select 3回车
yun Tian He回车
han Ling Sha回车
回车
当你一个命令不完整的时候回车就进入了缓冲区,缓冲区如果不用分号结束也不直接回车而是输入一些内容再回车就会造成命令换行。
如上面的操作后再执行list命令结果如:
1 select 3
2 yun Tian He
3* han Ling Sha
缓冲区出现了3行内容。
list查看指定行:
方法1,直接输入行号
如,我输入1结果如:
1* select 3
输入3结果如:
3* han Ling Sha
方法2,list 行号或l 行号
如list 2或l 2结果为:
2* yun Tian He
del:
该命令可以删除缓冲区内容
删除第a行到第b行如:
del 1 2
此时list的结果就只有
1* han Ling Sha
删除当前行到第n行如:
缓冲区重新写入一些测试数据后结果如:
1 select 3
2 duMinjie
3 xueyin
4* love
此时执行命令list 2和del * 4
然后list结果为:
1* select 3
结果解析:list N后,第N行理解为当前行。
input:
input命令可以在缓冲区的内容之间插入新的内容。
在当前行中添加一个或多个新行。
如,现在缓冲区的内容为:
1 select 'a','b'
2* from dual
然后执行命令l 1与input ,'c','d'最后在执行命令/后输出为:
' ' ' '
- - - -
a b c d
结果解析:
l 1命令已将当前行选择在了第一行
然后执行input ,'c','d'命令,由于input命令是
在当前行中添加一个或多个新行。
所以最后执行/则相当于执行
select 'a','b','c','d' from dual;
关键字词:oracle,sqlplus,缓冲区