天天看點

sqlplus格式的使用

一:SQL> help index   ---顯示sqlplus中的指令

Enter Help [topic] for help.

 @             COPY         PAUSE                    SHUTDOWN

 @@            DEFINE       PRINT                    SPOOL

 /             DEL          PROMPT                   SQLPLUS

 ACCEPT        DESCRIBE     QUIT                     START

 APPEND        DISCONNECT   RECOVER                  STARTUP

 ARCHIVE LOG   EDIT         REMARK                   STORE

 ATTRIBUTE     EXECUTE      REPFOOTER                TIMING

 BREAK         EXIT         REPHEADER                TTITLE

 BTITLE        GET          RESERVED WORDS (SQL)     UNDEFINE

 CHANGE        HELP         RESERVED WORDS (PL/SQL)  VARIABLE

 CLEAR         HOST         RUN                      WHENEVER OSERROR

 COLUMN        INPUT        SAVE                     WHENEVER SQLERROR

 COMPUTE       LIST         SET

 CONNECT       PASSWORD     SHOW

二:env | grep ORACLE ---檢視oracle的安裝目錄

[oracle@chenjh ~]$ env | grep oracle

USER=oracle

LD_LIBRARY_PATH=/oracle/product/10.2.0/db_1/lib:/usr/lib

ORACLE_BASE=/oracle

MAIL=/var/spool/mail/oracle

PATH=/oracle/product/10.2.0/db_1/bin:/usr/java/jdk1.6.0_21/bin:/usr/lib64/qt-3.3/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/oracle/bin

PWD=/home/oracle

HOME=/home/oracle

LOGNAME=oracle

ORACLE_HOME=/oracle/product/10.2.0/db_1

[oracle@chenjh ~]$ 

三:檢視表結構:

SQL> desc KPI_BI--ObjectName

 名稱                                      是否為空? 類型

 ----------------------------------------- -------- ----------------------------

 BIWORKJOB                                 NOT NULL VARCHAR2(20)

 BIWORKDATE                                NOT NULL DATE

 BIFLAG                                             VARCHAR2(2)

四:增加關閉提示資訊:

BIWORKJOB                                BIWORKDATE     BIFL

---------------------------------------- -------------- ----

KPIHZ                                    20-9月 -10     Y

KPITZ                                    05-10月-10     Y

KPITZ                                    07-10月-10     Y

KPIZZ                                    07-10月-10     Y

QNS                                      15-10月-10     Y

KPITZ                                    15-10月-10     Y

KPIZZ                                    15-10月-10     Y

QNS                                      18-10月-10     Y

KPIZZ                                    18-10月-10     Y

KPIHZ                                    18-10月-10     Y

已選擇351行。--提示符

SQL> set feedback off ---關閉提示符

SQL> select * from KPI_BI;

SQL> set feedback on  ----開啟提示符

五:變更提示資訊

SQL> set sqlprompt 'test>'---開多個視窗的時候改名防止搞錯

test>

傳回:

test> set sqlprompt 'SQL>'---傳回原來值

SQL>set time on            ----把時間顯示開啟

15:08:04 SQL>set time off   ----把時間顯示關閉

SQL>

六:顯示sql語句執行時間

SQL>set timing on ---開啟執行顯示時間

SQL>select * from KPI_BI

BIWORKJOB                                BIWORKDATE     BIF

---------------------------------------- -------------- ---

已用時間:  00: 00: 00.57

SQL>set timing off ---關閉執行顯示時間

七:把格式顯示更好看一點

SQL>col biworkjob for a10   ---把biworkjob這一列設定為寬度為10

SQL>select * from kpi_bi;

BIWORKJOB  BIWORKDATE     BIFL

---------- -------------- ----

QNS        06-8月 -10     Y

KPITZ      06-8月 -10     Y

KPIZZ      06-8月 -10     Y

KPIHZ      06-8月 -10     Y

KPIZZ      07-8月 -10     Y

QNS        08-8月 -10     Y

KPIZZ      15-8月 -10     Y

SQL>col biworkjob for a50 ---把biworkjob這一列設定為寬度為50

BIWORKJOB                                          BIWORKDATE     BIFL

-------------------------------------------------- -------------- ----

KPIHZ                                              20-9月 -10     Y

KPITZ                                              05-10月-10     Y

KPITZ                                              07-10月-10     Y

KPIZZ                                              07-10月-10     Y

QNS                                                15-10月-10     Y

KPITZ                                              15-10月-10     Y

KPIZZ                                              15-10月-10     Y

QNS                                                18-10月-10     Y

KPIZZ                                              18-10月-10     Y

KPIHZ                                              18-10月-10     Y

八:list等指令的使用

SQL>list                    -------顯示剛才輸入的指令

  1* select * from kpi_bi

SQL>list 1                  -------顯示剛才輸入的第一行指令

當執行報錯時,顯示第幾行報錯

例如第2行報錯:把kpi_bi打成了kqi_bi

list 2

然後利用:

SQL>change /kqi_bi/kpi_bi

然後再執行:/即可

如果是批量出錯則可以用edit指令:

<a href="http://blog.51cto.com/attachment/201312/154726475.jpg" target="_blank"></a>

即可進行批量修改

九:儲存指令

有時候我們需要儲存指令:

用save:

SQL&gt;save e:\e.sql  ----儲存最後一次執行的指令

已建立 file e:\e.sql

SQL&gt;save e:\e.sql append ---附加到之前儲存的指令

已将 file 附加到 e:\e.sql

還可以設定從開始然後儲存到最後的指令,利用spool即可

SQL&gt;spool d:\d.sql

SQL&gt;select * from kpi_bi where biworkjob='qns';

SQL&gt;select * from kpi_bi where biworkjob='KPITZ';

SQL&gt;spool off

要運作剛才儲存的腳本用

@或start都可以

SQL&gt;@ e:/e.sql

QNS                                                06-8月 -10     Y

KPITZ                                              06-8月 -10     Y

KPIZZ                                              06-8月 -10     Y

SQL&gt;@ d:/d.sql-----這個檔案是用spool儲存的,如下都報錯,是因為執行的結果也被儲存了;

SP2-0734: 未知的指令開頭 "SQL&gt;select..." - 忽略了剩餘的行?

SQL&gt;set termout off

SQL&gt;spool d:\f.sql

SQL&gt;select * from kpi_bi;

SQL&gt;@ d:\f.sql

SQL&gt;start d:\f.sql ----不再報錯

八:

SQL&gt; show all     ---顯示所有參數

SQL&gt; show pagesize ---顯示pagesize的值

SQL&gt; show linesize ---顯示lineseze的值

SQL&gt; clear scr  ---清屏

本文轉自 abc3486389 51CTO部落格,原文連結:http://blog.51cto.com/1336014/1338917