成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

SQL*PLUS命令的使用大全

2010-08-28 10:47:16來源:西部e網(wǎng)作者:

      Oracle的sql*plus是與oracle進行交互的客戶端工具。在sql*plus中,可以運行sql*plus命令與sql*plus語句。 
      我們通常所說的DML、DDL、DCL語句都是sql*plus語句,它們執(zhí)行完后,都可以保存在一個被稱為sql  buffer的內(nèi)存區(qū)域中,并且只能保存一條最近執(zhí)行的sql語句,我們可以對保存在sql  buffer中的sql  語句進行修改,然后再次執(zhí)行,sql*plus一般都與數(shù)據(jù)庫打交道。 
      除了sql*plus語句,在sql*plus中執(zhí)行的其它語句我們稱之為sql*plus命令。它們執(zhí)行完后,不保存在sql  buffer的內(nèi)存區(qū)域中,它們一般用來對輸出的結(jié)果進行格式化顯示,以便于制作報表。 
      下面就介紹一下一些常用的sql*plus命令: 
   
1.  執(zhí)行一個SQL腳本文件 
SQL>start  file_name 
SQL>@  file_name 
我們可以將多條sql語句保存在一個文本文件中,這樣當要執(zhí)行這個文件中的所有的sql語句時,用上面的任一命令即可,這類似于dos中的批處理。 
   
2.  對當前的輸入進行編輯 
SQL>edit 
   
3.  重新運行上一次運行的sql語句 
SQL>/ 
   
4.  將顯示的內(nèi)容輸出到指定文件 
SQL>  SPOOL  file_name 
      在屏幕上的所有內(nèi)容都包含在該文件中,包括你輸入的sql語句。 
   
5.  關(guān)閉spool輸出 
SQL>  SPOOL  OFF 
      只有關(guān)閉spool輸出,才會在輸出文件中看到輸出的內(nèi)容。 
   
6.顯示一個表的結(jié)構(gòu) 
SQL>  desc  table_name 
   
7.  COL命令: 
主要格式化列的顯示形式。 
該命令有許多選項,具體如下: 
COL[UMN]  [{  column|expr}  [  option  ...]] 
Option選項可以是如下的子句: 
ALI[AS]  alias 
CLE[AR] 
FOLD_A[FTER] 
FOLD_B[EFORE] 
FOR[MAT]  format 
HEA[DING]  text 
JUS[TIFY]  {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]} 
LIKE  {  expr|alias} 
NEWL[INE] 
NEW_V[ALUE]  variable 
NOPRI[NT]|PRI[NT] 
NUL[L]  text 
OLD_V[ALUE]  variable 
ON|OFF 
WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED] 
   
1).  改變?nèi)笔〉牧袠祟} 
COLUMN  column_name  HEADING  column_heading 
For  example: 
Sql>select  *  from  dept; 
          DEPTNO  DNAME                                                LOC 
----------  ----------------------------  --------- 
                  10  ACCOUNTING                                      NEW  YORK 
sql>col    LOC  heading  location 
sql>select  *  from  dept; 
        DEPTNO  DNAME                                                location 
---------  ----------------------------  ----------- 
                10  ACCOUNTING                                      NEW  YORK 
   
2).  將列名ENAME改為新列名EMPLOYEE  NAME并將新列名放在兩行上: 
Sql>select  *  from  emp 
Department    name                      Salary 
----------  ----------  ---------- 
                  10  aaa                                11                 
SQL>  COLUMN  ENAME  HEADING  ’Employee|Name’ 
Sql>select  *  from  emp 
                        Employee 
Department    name                      Salary 
----------  ----------  ----------   
                  10  aaa                                11 
note:  the  col  heading  turn  into  two  lines  from  one  line. 
   
3).  改變列的顯示長度: 
FOR[MAT]  format 
Sql>select  empno,ename,job  from  emp; 
            EMPNO  ENAME            JOB               
----------  ----------          --------- 
              7369  SMITH            CLERK           
              7499  ALLEN            SALESMAN     
7521  WARD              SALESMAN     
Sql>  col  ename  format  a40 
            EMPNO  ENAME                                                                        JOB 
----------      ----------------------------------------                  --------- 
              7369  SMITH                                                                        CLERK 
              7499  ALLEN                                                                        SALESMAN 
              7521  WARD                                                                        SALESMAN 
   
4).  設(shè)置列標題的對齊方式 
JUS[TIFY]  {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]} 
SQL>  col  ename  justify  center 
SQL>  / 
            EMPNO                      ENAME                                      JOB 
----------      ----------------------------------------              --------- 
              7369  SMITH                                                                        CLERK 
              7499  ALLEN                                                                        SALESMAN 
7521  WARD                                                                          SALESMAN 
對于NUMBER型的列,列標題缺省在右邊,其它類型的列標題缺省在左邊 
   
5).  不讓一個列顯示在屏幕上 
NOPRI[NT]|PRI[NT] 
SQL>  col  job  noprint 
SQL>  / 
            EMPNO                      ENAME 
----------          ---------------------------------------- 
              7369  SMITH 
              7499  ALLEN 
7521  WARD 
   
6).  格式化NUMBER類型列的顯示: 
SQL>  COLUMN  SAL  FORMAT  $99,990 
SQL>  / 
Employee 
Department  Name                Salary        Commission 
----------  ----------  ---------  ---------- 
30                    ALLEN                $1,600        300 
   
7).  顯示列值時,如果列值為NULL值,用text值代替NULL值 
COMM  NUL[L]  text 
SQL>COL  COMM  NUL[L]  text 
   
8).  設(shè)置一個列的回繞方式 
WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED] 
                COL1 
-------------------- 
HOW  ARE  YOU? 
   
SQL>COL  COL1  FORMAT  A5 
SQL>COL  COL1  WRAPPED 
COL1 
----- 
HOW  A 
RE  YO 
U? 
   
SQL>  COL  COL1  WORD_WRAPPED 
COL1 
----- 
HOW 
ARE 
YOU? 
   
SQL>  COL  COL1  WORD_WRAPPED 
COL1 
----- 
HOW  A 
   
9).  顯示列的當前的顯示屬性值 
SQL>  COLUMN  column_name 
   
10).  將所有列的顯示屬性設(shè)為缺省值 
SQL>  CLEAR  COLUMNS 
   
8.  屏蔽掉一個列中顯示的相同的值 
BREAK  ON  break_column 
SQL>  BREAK  ON  DEPTNO 
SQL>  SELECT  DEPTNO,  ENAME,  SAL 
FROM  EMP 
    WHERE  SAL  <  2500 
    ORDER  BY  DEPTNO; 
DEPTNO            ENAME                  SAL 
----------  -----------  --------- 
10                      CLARK                2450 
MILLER            1300 
20                        SMITH              800 
ADAMS              1100 
   
9.  在上面屏蔽掉一個列中顯示的相同的值的顯示中,每當列值變化時在值變化之前插入n個空行。 
BREAK  ON  break_column  SKIP  n 
   
SQL>  BREAK  ON  DEPTNO  SKIP  1 
SQL>  / 
DEPTNO  ENAME  SAL 
----------  -----------  --------- 
10  CLARK  2450 
MILLER  1300 
   
20  SMITH  800 
ADAMS  1100 
   
10.  顯示對BREAK的設(shè)置 
SQL>  BREAK 
   
11.  刪除6、7的設(shè)置 
SQL>  CLEAR  BREAKS 
   
12.  Set  命令: 
該命令包含許多子命令: 
SET  system_variable  value 
system_variable  value  可以是如下的子句之一: 
APPI[NFO]{ON|OFF|text} 
ARRAY[SIZE]  {15|n} 
AUTO[COMMIT]{ON|OFF|IMM[EDIATE]|n} 
AUTOP[RINT]  {ON|OFF} 
AUTORECOVERY  [ON|OFF] 
AUTOT[RACE]  {ON|OFF|TRACE[ONLY]}  [EXP[LAIN]]  [STAT[ISTICS]] 
BLO[CKTERMINATOR]  {.|c} 
CMDS[EP]  {;|c|ON|OFF} 
COLSEP  {_|text} 
COM[PATIBILITY]{V7|V8|NATIVE} 
CON[CAT]  {.|c|ON|OFF} 
COPYC[OMMIT]  {0|n} 
COPYTYPECHECK  {ON|OFF} 
DEF[INE]  {&|c|ON|OFF} 
DESCRIBE  [DEPTH  {1|n|ALL}][LINENUM  {ON|OFF}][INDENT  {ON|OFF}] 
ECHO  {ON|OFF} 
EDITF[ILE]  file_name[.ext] 
EMB[EDDED]  {ON|OFF} 
ESC[APE]  {\|c|ON|OFF} 
FEED[BACK]  {6|n|ON|OFF} 
FLAGGER  {OFF|ENTRY  |INTERMED[IATE]|FULL} 
FLU[SH]  {ON|OFF} 
HEA[DING]  {ON|OFF} 
HEADS[EP]  {||c|ON|OFF} 
INSTANCE  [instance_path|LOCAL] 
LIN[ESIZE]  {80|n} 
LOBOF[FSET]  {n|1} 
LOGSOURCE  [pathname] 
LONG  {80|n} 
LONGC[HUNKSIZE]  {80|n} 
MARK[UP]  HTML  [ON|OFF]  [HEAD  text]  [BODY  text]  [ENTMAP  {ON|OFF}]  [SPOOL 
{ON|OFF}]  [PRE[FORMAT]  {ON|OFF}] 
NEWP[AGE]  {1|n|NONE} 
NULL  text 
NUMF[ORMAT]  format 
NUM[WIDTH]  {10|n} 
PAGES[IZE]  {24|n} 
PAU[SE]  {ON|OFF|text} 
RECSEP  {WR[APPED]|EA[CH]|OFF} 
RECSEPCHAR  {_|c} 
SERVEROUT[PUT]  {ON|OFF}  [SIZE  n]  [FOR[MAT]  {WRA[PPED]|WOR[D_ 
WRAPPED]|TRU[NCATED]}] 
SHIFT[INOUT]  {VIS[IBLE]|INV[ISIBLE]} 
SHOW[MODE]  {ON|OFF} 
SQLBL[ANKLINES]  {ON|OFF} 
SQLC[ASE]  {MIX[ED]|LO[WER]|UP[PER]} 
SQLCO[NTINUE]  {>  |text} 
SQLN[UMBER]  {ON|OFF} 
SQLPRE[FIX]  {#|c} 
SQLP[ROMPT]  {SQL>|text} 
SQLT[ERMINATOR]  {;|c|ON|OFF} 
SUF[FIX]  {SQL|text} 
TAB  {ON|OFF} 
TERM[OUT]  {ON|OFF} 
TI[ME]  {ON|OFF} 
TIMI[NG]  {ON|OFF} 
TRIM[OUT]  {ON|OFF} 
TRIMS[POOL]  {ON|OFF} 
UND[ERLINE]  {-|c|ON|OFF} 
VER[IFY]  {ON|OFF} 
WRA[P]  {ON|OFF} 
   
1).  設(shè)置當前session是否對修改的數(shù)據(jù)進行自動提交 
SQL>SET  AUTO[COMMIT]  {ON|OFF|IMM[EDIATE]|  n} 
   
2).在用start命令執(zhí)行一個sql腳本時,是否顯示腳本中正在執(zhí)行的SQL語句 
SQL>  SET  ECHO  {ON|OFF} 
   
3).是否顯示當前sql語句查詢或修改的行數(shù) 
SQL>  SET  FEED[BACK]  {6|n|ON|OFF} 
      默認只有結(jié)果大于6行時才顯示結(jié)果的行數(shù)。如果set  feedback  1  ,則不管查詢到多少行都返回。當為off  時,一律不顯示查詢的行數(shù) 
   
4).是否顯示列標題 
SQL>  SET  HEA[DING]  {ON|OFF} 
當set  heading  off  時,在每頁的上面不顯示列標題,而是以空白行代替 
   
5).設(shè)置一行可以容納的字符數(shù) 
SQL>  SET  LIN[ESIZE]  {80|n} 
      如果一行的輸出內(nèi)容大于設(shè)置的一行可容納的字符數(shù),則折行顯示。 
   
6).設(shè)置頁與頁之間的分隔 
SQL>  SET  NEWP[AGE]  {1|n|NONE} 
當set  newpage  0  時,會在每頁的開頭有一個小的黑方框。 
當set  newpage  n  時,會在頁和頁之間隔著n個空行。 
當set  newpage  none  時,會在頁和頁之間沒有任何間隔。 
   
7).顯示時,用text值代替NULL值 
SQL>  SET  NULL  text 
   
8).設(shè)置一頁有多少行數(shù) 
SQL>  SET  PAGES[IZE]  {24|n} 
如果設(shè)為0,則所有的輸出內(nèi)容為一頁并且不顯示列標題 
   
9).是否顯示用DBMS_OUTPUT.PUT_LINE包進行輸出的信息。 
SQL>  SET  SERVEROUT[PUT]  {ON|OFF}   
在編寫存儲過程時,我們有時會用dbms_output.put_line將必要的信息輸出,以便對存儲過程進行調(diào)試,只有將serveroutput變量設(shè)為on后,信息才能顯示在屏幕上。 
   
10).當SQL語句的長度大于LINESIZE時,是否在顯示時截取SQL語句。 
SQL>  SET  WRA[P]  {ON|OFF} 
      當輸出的行的長度大于設(shè)置的行的長度時(用set  linesize  n命令設(shè)置),當set  wrap  on時,輸出行的多于的字符會另起一行顯示,否則,會將輸出行的多于字符切除,不予顯示。 
   
11).是否在屏幕上顯示輸出的內(nèi)容,主要用與SPOOL結(jié)合使用。 
SQL>  SET  TERM[OUT]  {ON|OFF} 
      在用spool命令將一個大表中的內(nèi)容輸出到一個文件中時,將內(nèi)容輸出在屏幕上會耗費大量的時間,設(shè)置set  termspool  off后,則輸出的內(nèi)容只會保存在輸出文件中,不會顯示在屏幕上,極大的提高了spool的速度。 
   
12).將SPOOL輸出中每行后面多余的空格去掉 
SQL>  SET  TRIMS[OUT]  {ON|OFF}   
       
13)顯示每個sql語句花費的執(zhí)行時間 
set  TIMING    {ON|OFF} 
   
14.修改sql  buffer中的當前行中,第一個出現(xiàn)的字符串 
C[HANGE]  /old_value/new_value 
SQL>  l 
      1*  select  *  from  dept 
SQL>  c/dept/emp 
      1*  select  *  from  emp 
   
15.編輯sql  buffer中的sql語句 
EDI[T] 
   
16.顯示sql  buffer中的sql語句,list  n顯示sql  buffer中的第n行,并使第n行成為當前行 
L[IST]  [n] 
   
17.在sql  buffer的當前行下面加一行或多行 
I[NPUT] 
   
18.將指定的文本加到sql  buffer的當前行后面 
A[PPEND] 
SQL>  select  deptno, 
      2    dname 
      3    from  dept; 
          DEPTNO  DNAME 
----------  -------------- 
                  10  ACCOUNTING 
                  20  RESEARCH 
                  30  SALES 
                  40  OPERATIONS 
   
SQL>  L  2 
      2*  dname 
SQL>  a  ,loc 
      2*  dname,loc 
SQL>  L 
      1    select  deptno, 
      2    dname,loc 
      3*  from  dept 
SQL>  / 
   
          DEPTNO  DNAME                    LOC 
----------  --------------  ------------- 
                  10  ACCOUNTING          NEW  YORK 
                  20  RESEARCH              DALLAS 
                  30  SALES                    CHICAGO 
                  40  OPERATIONS          BOSTON 
   
19.將sql  buffer中的sql語句保存到一個文件中 
SAVE  file_name 
   
20.將一個文件中的sql語句導入到sql  buffer中 
GET  file_name 
   
21.再次執(zhí)行剛才已經(jīng)執(zhí)行的sql語句 
RUN 
or 

   
22.執(zhí)行一個存儲過程 
EXECUTE  procedure_name 
   
23.在sql*plus中連接到指定的數(shù)據(jù)庫 
CONNECT  user_name/passwd@db_alias 
   
24.設(shè)置每個報表的頂部標題 
TTITLE 
   
25.設(shè)置每個報表的尾部標題 
BTITLE 
   
26.寫一個注釋 
REMARK  [text] 
   
27.將指定的信息或一個空行輸出到屏幕上 
PROMPT  [text] 
   
28.將執(zhí)行的過程暫停,等待用戶響應后繼續(xù)執(zhí)行 
PAUSE  [text] 
   
Sql>PAUSE  Adjust  paper  and  press  RETURN  to  continue. 
   
29.將一個數(shù)據(jù)庫中的一些數(shù)據(jù)拷貝到另外一個數(shù)據(jù)庫(如將一個表的數(shù)據(jù)拷貝到另一個數(shù)據(jù)庫) 
COPY  {FROM  database  |  TO  database  |  FROM  database  TO  database} 
{APPEND|CREATE|INSERT|REPLACE}  destination_table 
[(column,  column,  column,  ...)]  USING  query 
   
sql>COPY  FROM  SCOTT/TIGER@HQ  TO  JOHN/CHROME@WEST   
create  emp_temp 
USING  SELECT  *  FROM  EMP 
   
30.不退出sql*plus,在sql*plus中執(zhí)行一個操作系統(tǒng)命令: 
HOST 
   
Sql>  host  hostname 
該命令在windows下可能被支持。 
   
31.在sql*plus中,切換到操作系統(tǒng)命令提示符下,運行操作系統(tǒng)命令后,可以再次切換回sql*plus: 

   
sql>! 
$hostname 
$exit 
sql> 
   
該命令在windows下不被支持。 
   
32.顯示sql*plus命令的幫助 
HELP 
如何安裝幫助文件: 
Sql>@  ?\sqlplus\admin\help\hlpbld.sql  ?\sqlplus\admin\help\helpus.sql 
Sql>help  index 
   
33.顯示sql*plus系統(tǒng)變量的值或sql*plus環(huán)境變量的值 
Syntax 
SHO[W]  option 
where  option  represents  one  of  the  following  terms  or  clauses: 
system_variable 
ALL 
BTI[TLE] 
ERR[ORS]  [{FUNCTION|PROCEDURE|PACKAGE|PACKAGE  BODY| 
TRIGGER|VIEW|TYPE|TYPE  BODY}  [schema.]name] 
LNO 
PARAMETERS  [parameter_name] 
PNO 
REL[EASE] 
REPF[OOTER] 
REPH[EADER] 
SGA 
SPOO[L] 
SQLCODE 
TTI[TLE] 
USER 
   
1)  .  顯示當前環(huán)境變量的值: 
Show  all 
   
2)  .  顯示當前在創(chuàng)建函數(shù)、存儲過程、觸發(fā)器、包等對象的錯誤信息 
Show  error 
當創(chuàng)建一個函數(shù)、存儲過程等出錯時,變可以用該命令查看在那個地方出錯及相應的出錯信息,進行修改后再次進行編譯。 
   
3)  .  顯示初始化參數(shù)的值: 
show  PARAMETERS  [parameter_name] 
   
4)  .  顯示數(shù)據(jù)庫的版本: 
show  REL[EASE] 
   
5)  .  顯示SGA的大小 
show  SGA 
   
6).  顯示當前的用戶名 
show  user
關(guān)鍵詞:SQL*PLUS

相關(guān)閱讀:

贊助商鏈接:

主站蜘蛛池模板: 郴州市| 当涂县| 甘德县| 桃江县| 东丽区| 榕江县| 漯河市| 平安县| 精河县| 莆田市| 中江县| 永修县| 枞阳县| 公主岭市| 正蓝旗| 桃园县| 清苑县| 枣强县| 达州市| 溧阳市| 南和县| 深圳市| 郓城县| 谢通门县| 临武县| 南雄市| 平塘县| 丹寨县| 马山县| 聂荣县| 仪陇县| 凉山| 房产| 喜德县| 乌什县| 自贡市| 广丰县| 斗六市| 峡江县| 金昌市| 汪清县|