Oracle命令行有很多,下面为您介绍的是sqlplus的自带Oracle命令行编辑器,如果您对此方面感兴趣的话,不妨一看。
sqlplus的自带Oracle命令行编辑器:
这里要学习list(显示),change(修改),del(删除)以及input(添加)这几个命令。
sqlplus里我们经常会遇到这样的情况,使用list(或l)查看最近一条sql语句时,最后一行行号后标有'*’,如下:
SQL> select file_name
2 from dba_data_files where tablespace_name = 'USERS';
FILE_NAME
---------------------------------------------------------------------------
+DATAGRP/db/datafile/users.259.686941969
SQL> list
1 select file_name
2* from dba_data_files where tablespace_name = 'USERS'
SQL>
sqlplus将最近1条sql语句存储在一个缓冲区里,并记录每一行。使用list可以列出sql,而标记为*号的是可以修改的行。如果要修改第n行,就输入"list n”或直接输入行号,列出该行后即可修改。
sqlplus下可以使用change命令修改字符,示例如下:
SQL> select file_name
2 from dba_data_files where tablespace_name = 'SYSAUX';
FILE_NAME
---------------------------------------------------------------------------
+DATAGRP/db/datafile/sysaux.257.686941969
--使用命令list(或l)列出最近1条sql语句SQL> l
1 select file_name
2* from dba_data_files where tablespace_name = 'SYSAUX'
--列出最近1条sql的第1行SQL> 1
1* select file_name
--使用change命令修改file_name为tablespacle_nameSQL> change /file_name/tablespace_name
1* select tablespace_name
SQL> l
1 select tablespace_name
2* from dba_data_files where tablespace_name = 'SYSAUX'
SQL> /
TABLESPACE_NAME
------------------------------
SYSAUX
SQL>
sqlplus下使用del命令删除指定行,与list用法有些类似。
sql>del --删除当前行,也就是最后一行
sql>del 2 --删除第2行
sql>del 2 5 --删除第2行和第5行,注意行号之间有空格
sql>del 3 last --删除从2行直到最后一行
sqlplus下使用input命令在指定行后添加新的一行,示例如下:
SQL> select tablespace_name
2 from dba_data_files where tablespace_name = 'SYSAUX';
TABLESPACE_NAME
------------------------------
SYSAUX
SQL> l
1 select tablespace_name
2* from dba_data_files where tablespace_name = 'SYSAUX'
SQL> 1
1* select tablespace_name
--使用input命令在第1行后添加新的行SQL> i , file_name
SQL> l
1 select tablespace_name
2 , file_name
3* from dba_data_files where tablespace_name = 'SYSAUX'
SQL> /
TABLESPACE_NAME FILE_NAME
----------------------------- ---------------------------------------------
SYSAUX +DATAGRP/db/datafile/sysaux.257.686941969
SQL>
很简单的小技巧,总结一下更熟悉了。
【编辑推荐】