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>
很簡單的小技巧,總結一下更熟悉了。