日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
      軟件
      軟件
      文章
      搜索

      首頁(yè)西西教程數(shù)據(jù)庫(kù)教程 → sql plus 與Oracle交互常用令與sql plus語(yǔ)句

      sql plus 與Oracle交互常用令與sql plus語(yǔ)句

      相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:本站整理時(shí)間:2010/8/20 11:04:11字體大。A-A+

      作者:佚名點(diǎn)擊:1358次評(píng)論:0次標(biāo)簽: sql Oracle

      • 類型:電子教程大小:8.5M語(yǔ)言:中文 評(píng)分:8.3
      • 標(biāo)簽:
      立即下載

      Oracle的sql plus是與oracle進(jìn)行交互的客戶端工具。在sql plus中,可以運(yùn)行sql plus命令與sql plus語(yǔ)句。
         我們通常所說(shuō)的DML、DDL、DCL語(yǔ)句都是sql*plus語(yǔ)句,它們執(zhí)行完后,都可以保存在一個(gè)被稱為sql buffer的內(nèi)存區(qū)域中,并且只能保存一條最近執(zhí)行的sql語(yǔ)句,我們可以對(duì)保存在sql buffer中的sql 語(yǔ)句進(jìn)行修改,然后再次執(zhí)行,sql*plus一般都與數(shù)據(jù)庫(kù)打交道。
         除了sql*plus語(yǔ)句,在sql*plus中執(zhí)行的其它語(yǔ)句我們稱之為sql*plus命令。它們執(zhí)行完后,不保存在sql buffer的內(nèi)存區(qū)域中,它們一般用來(lái)對(duì)輸出的結(jié)果進(jìn)行格式化顯示,以便于制作報(bào)表。
         下面就介紹一下一些常用的sql*plus命令: 
      COL 命令:
      主要格式化列的顯示形式。
      該命令有許多選項(xiàng),具體如下:
      COL[UMN] [{ column|expr} [ option ...]]
      Option 選項(xiàng)可以是如下的子句:
      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]
      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è)置當(dāng)前session 是否對(duì)修改的數(shù)據(jù)進(jìn)行自動(dòng)提交
      SQL>SET AUTO[COMMIT] {ON|OFF|IMM[EDIATE]| n}
      2) .在用start 命令執(zhí)行一個(gè)sql 腳本時(shí),是否顯示腳本中正在執(zhí)行的SQL 語(yǔ)句
      SQL> SET ECHO {ON|OFF}
       3). 是否顯示當(dāng)前sql 語(yǔ)句查詢或修改的行數(shù)
      SQL> SET FEED[BACK] {6|n|ON|OFF}
          默認(rèn)只有結(jié)果大于6 行時(shí)才顯示結(jié)果的行數(shù)。如果set feedback 1 ,則不管查詢到多少行都返回。當(dāng)為off 時(shí),一律不顯示查詢的行數(shù)
      4). 是否顯示列標(biāo)題
      SQL> SET HEA[DING] {ON|OFF}
      當(dāng)set heading off 時(shí),在每頁(yè)的上面不顯示列標(biāo)題,而是以空白行代替
      5). 設(shè)置一行可以容納的字符數(shù)
      SQL> SET LIN[ESIZE] {80|n}
          如果一行的輸出內(nèi)容大于設(shè)置的一行可容納的字符數(shù),則折行顯示。
      6). 設(shè)置頁(yè)與頁(yè)之間的分隔
      SQL> SET NEWP[AGE] {1|n|NONE}
      當(dāng)set newpage 0 時(shí),會(huì)在每頁(yè)的開頭有一個(gè)小的黑方框。
      當(dāng)set newpage n 時(shí),會(huì)在頁(yè)和頁(yè)之間隔著n 個(gè)空行。
      當(dāng)set newpage none 時(shí),會(huì)在頁(yè)和頁(yè)之間沒有任何間隔。
        
      7). 顯示時(shí),用text 值代替NULL 值
      SQL> SET NULL text
       8). 設(shè)置一頁(yè)有多少行數(shù)
      SQL> SET PAGES[IZE] {24|n}
      如果設(shè)為0 ,則所有的輸出內(nèi)容為一頁(yè)并且不顯示列標(biāo)題
      9). 是否顯示用DBMS_OUTPUT.PUT_LINE 包進(jìn)行輸出的信息。
      SQL> SET SERVEROUT[PUT] {ON|OFF}  
      在編寫存儲(chǔ)過程時(shí),我們有時(shí)會(huì)用dbms_output.put_line 將必要的信息輸出,以便對(duì)存儲(chǔ)過程進(jìn)行調(diào)試,只有將serveroutput 變量設(shè)為on 后,信息才能顯示在屏幕上。
      10). 當(dāng)SQL 語(yǔ)句的長(zhǎng)度大于LINESIZE 時(shí),是否在顯示時(shí)截取SQL 語(yǔ)句。
      SQL> SET WRA[P] {ON|OFF}
          當(dāng)輸出的行的長(zhǎng)度大于設(shè)置的行的長(zhǎng)度時(shí)(用set linesize n 命令設(shè)置),當(dāng)set wrap on 時(shí),輸出行的多于的字符會(huì)另起一行顯示,否則,會(huì)將輸出行的多于字符切除,不予顯示。
      11). 是否在屏幕上顯示輸出的內(nèi)容,主要用與SPOOL 結(jié)合使用。
      SQL> SET TERM[OUT] {ON|OFF}
          在用spool 命令將一個(gè)大表中的內(nèi)容輸出到一個(gè)文件中時(shí),將內(nèi)容輸出在屏幕上會(huì)耗費(fèi)大量的時(shí)間,設(shè)置set termspool off 后,則輸出的內(nèi)容只會(huì)保存在輸出文件中,不會(huì)顯示在屏幕上,極大的提高了spool 的速度。
        
      12). 將SPOOL 輸出中每行后面多余的空格去掉
      SQL> SET TRIMS[OUT] {ON|OFF}  
         
      29 .將一個(gè)數(shù)據(jù)庫(kù)中的一些數(shù)據(jù)拷貝到另外一個(gè)數(shù)據(jù)庫(kù)(如將一個(gè)表的數(shù)據(jù)拷貝到另一個(gè)數(shù)據(jù)庫(kù))
      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
      32 .顯示sql*plus 命令的幫助
      HELP
      如何安裝幫助文件:
      Sql>@ ?\sqlplus\admin\help\hlpbld.sql ?\sqlplus\admin\help\helpus.sql
      Sql>help index -

      ---------------------------------------------------------------- 
      1. 執(zhí)行一個(gè)SQL腳本文件
      SQL>start file_name
      SQL>@ file_name
      我們可以將多條sql語(yǔ)句保存在一個(gè)文本文件中,這樣當(dāng)要執(zhí)行這個(gè)文件中的所有的sql語(yǔ)句時(shí),用上面的任一命令即可,這類似于dos中的批處理。
       
      2. 對(duì)當(dāng)前的輸入進(jìn)行編輯
      SQL>edit
       
      3. 重新運(yùn)行上一次運(yùn)行的sql語(yǔ)句
      SQL>/
       
      4. 將顯示的內(nèi)容輸出到指定文件
      SQL> SPOOL file_name
         在屏幕上的所有內(nèi)容都包含在該文件中,包括你輸入的sql語(yǔ)句。
       
      5. 關(guān)閉spool輸出
      SQL> SPOOL OFF
         只有關(guān)閉spool輸出,才會(huì)在輸出文件中看到輸出的內(nèi)容。
       
      6.顯示一個(gè)表的結(jié)構(gòu)
      SQL> desc table_name
       
      [paeg]COL命令[/page]7. COL命令:
      主要格式化列的顯示形式。
      該命令有許多選項(xiàng),具體如下:
      COL[UMN] [{ column|expr} [ option ...]]
      Option選項(xiàng)可以是如下的子句:
      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)笔〉牧袠?biāo)題
      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). 改變列的顯示長(zhǎng)度:
      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è)置列標(biāo)題的對(duì)齊方式
      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
      對(duì)于NUMBER型的列,列標(biāo)題缺省在右邊,其它類型的列標(biāo)題缺省在左邊
       
      5). 不讓一個(gè)列顯示在屏幕上
      NOPRI[NT]|PRI[NT]
      SQL> col job noprint
      SQL> /
            EMPNO           ENAME
      ----------     ----------------------------------------
             7369 SMITH
             7499 ALLEN
      7521 WARD
       
      [paeg]格式化NUMBER類型列的顯示[/page]6). 格式化NUMBER類型列的顯示:
      SQL> COLUMN SAL FORMAT $99,990
      SQL> /
      Employee
      Department Name        Salary    Commission
      ---------- ---------- --------- ----------
      30          ALLEN        $1,600    300
       
      7). 顯示列值時(shí),如果列值為NULL值,用text值代替NULL值
      COMM NUL[L] text
      SQL>COL COMM NUL[L] text
       
      8). 設(shè)置一個(gè)列的回繞方式
      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). 顯示列的當(dāng)前的顯示屬性值
      SQL> COLUMN column_name
       
      10). 將所有列的顯示屬性設(shè)為缺省值
      SQL> CLEAR COLUMNS
       
      8. 屏蔽掉一個(gè)列中顯示的相同的值
      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. 在上面屏蔽掉一個(gè)列中顯示的相同的值的顯示中,每當(dāng)列值變化時(shí)在值變化之前插入n個(gè)空行。
      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. 顯示對(duì)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è)置當(dāng)前session是否對(duì)修改的數(shù)據(jù)進(jìn)行自動(dòng)提交
      SQL>SET AUTO[COMMIT] {ON|OFF|IMM[EDIATE]| n}
       
      2).在用start命令執(zhí)行一個(gè)sql腳本時(shí),是否顯示腳本中正在執(zhí)行的SQL語(yǔ)句
      SQL> SET ECHO {ON|OFF}
       
      3).是否顯示當(dāng)前sql語(yǔ)句查詢或修改的行數(shù)
      SQL> SET FEED[BACK] {6|n|ON|OFF}
         默認(rèn)只有結(jié)果大于6行時(shí)才顯示結(jié)果的行數(shù)。如果set feedback 1 ,則不管查詢到多少行都返回。當(dāng)為off 時(shí),一律不顯示查詢的行數(shù)
       
      4).是否顯示列標(biāo)題
      SQL> SET HEA[DING] {ON|OFF}
      當(dāng)set heading off 時(shí),在每頁(yè)的上面不顯示列標(biāo)題,而是以空白行代替
       
      5).設(shè)置一行可以容納的字符數(shù)
      SQL> SET LIN[ESIZE] {80|n}
         如果一行的輸出內(nèi)容大于設(shè)置的一行可容納的字符數(shù),則折行顯示。
       
      6).設(shè)置頁(yè)與頁(yè)之間的分隔
      SQL> SET NEWP[AGE] {1|n|NONE}
      當(dāng)set newpage 0 時(shí),會(huì)在每頁(yè)的開頭有一個(gè)小的黑方框。
      當(dāng)set newpage n 時(shí),會(huì)在頁(yè)和頁(yè)之間隔著n個(gè)空行。
      當(dāng)set newpage none 時(shí),會(huì)在頁(yè)和頁(yè)之間沒有任何間隔。
       
      7).顯示時(shí),用text值代替NULL值
      SQL> SET NULL text
       
      8).設(shè)置一頁(yè)有多少行數(shù)
      SQL> SET PAGES[IZE] {24|n}
      如果設(shè)為0,則所有的輸出內(nèi)容為一頁(yè)并且不顯示列標(biāo)題
       
      9).是否顯示用DBMS_OUTPUT.PUT_LINE包進(jìn)行輸出的信息。
      SQL> SET SERVEROUT[PUT] {ON|OFF} 
      在編寫存儲(chǔ)過程時(shí),我們有時(shí)會(huì)用dbms_output.put_line將必要的信息輸出,以便對(duì)存儲(chǔ)過程進(jìn)行調(diào)試,只有將serveroutput變量設(shè)為on后,信息才能顯示在屏幕上。
       
      10).當(dāng)SQL語(yǔ)句的長(zhǎng)度大于LINESIZE時(shí),是否在顯示時(shí)截取SQL語(yǔ)句。
      SQL> SET WRA[P] {ON|OFF}
         當(dāng)輸出的行的長(zhǎng)度大于設(shè)置的行的長(zhǎng)度時(shí)(用set linesize n命令設(shè)置),當(dāng)set wrap on時(shí),輸出行的多于的字符會(huì)另起一行顯示,否則,會(huì)將輸出行的多于字符切除,不予顯示。
       
      11).是否在屏幕上顯示輸出的內(nèi)容,主要用與SPOOL結(jié)合使用。
      SQL> SET TERM[OUT] {ON|OFF}
         在用spool命令將一個(gè)大表中的內(nèi)容輸出到一個(gè)文件中時(shí),將內(nèi)容輸出在屏幕上會(huì)耗費(fèi)大量的時(shí)間,設(shè)置set termspool off后,則輸出的內(nèi)容只會(huì)保存在輸出文件中,不會(huì)顯示在屏幕上,極大的提高了spool的速度。
       
      12).將SPOOL輸出中每行后面多余的空格去掉
      SQL> SET TRIMS[OUT] {ON|OFF} 
         
      13)顯示每個(gè)sql語(yǔ)句花費(fèi)的執(zhí)行時(shí)間
      set TIMING  {ON|OFF}
       
      14.修改sql buffer中的當(dāng)前行中,第一個(gè)出現(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語(yǔ)句
      EDI[T]
       
      16.顯示sql buffer中的sql語(yǔ)句,list n顯示sql buffer中的第n行,并使第n行成為當(dāng)前行
      L[IST] [n]
       
      17.在sql buffer的當(dāng)前行下面加一行或多行
      I[NPUT]
       
      18.將指定的文本加到sql buffer的當(dāng)前行后面
      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語(yǔ)句保存到一個(gè)文件中
      SAVE file_name
       
      20.將一個(gè)文件中的sql語(yǔ)句導(dǎo)入到sql buffer中
      GET file_name
       
      21.再次執(zhí)行剛才已經(jīng)執(zhí)行的sql語(yǔ)句
      RUN
      or
      /
       
      22.執(zhí)行一個(gè)存儲(chǔ)過程
      EXECUTE procedure_name
       
      23.在sql*plus中連接到指定的數(shù)據(jù)庫(kù)
      CONNECT user_name/passwd@db_alias
       
      24.設(shè)置每個(gè)報(bào)表的頂部標(biāo)題
      TTITLE
       
      25.設(shè)置每個(gè)報(bào)表的尾部標(biāo)題
      BTITLE
       
      26.寫一個(gè)注釋
      REMARK [text]
       
      27.將指定的信息或一個(gè)空行輸出到屏幕上
      PROMPT [text]
       
      28.將執(zhí)行的過程暫停,等待用戶響應(yīng)后繼續(xù)執(zhí)行
      PAUSE [text]
       
      Sql>PAUSE Adjust paper and press RETURN to continue.
       
      29.將一個(gè)數(shù)據(jù)庫(kù)中的一些數(shù)據(jù)拷貝到另外一個(gè)數(shù)據(jù)庫(kù)(如將一個(gè)表的數(shù)據(jù)拷貝到另一個(gè)數(shù)據(jù)庫(kù))
      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í)行一個(gè)操作系統(tǒng)命令:
      HOST
       
      Sql> host hostname
      該命令在windows下可能被支持。
       
      31.在sql*plus中,切換到操作系統(tǒng)命令提示符下,運(yùn)行操作系統(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) . 顯示當(dāng)前環(huán)境變量的值:
      Show all
       
      2) . 顯示當(dāng)前在創(chuàng)建函數(shù)、存儲(chǔ)過程、觸發(fā)器、包等對(duì)象的錯(cuò)誤信息
      Show error
      當(dāng)創(chuàng)建一個(gè)函數(shù)、存儲(chǔ)過程等出錯(cuò)時(shí),變可以用該命令查看在那個(gè)地方出錯(cuò)及相應(yīng)的出錯(cuò)信息,進(jìn)行修改后再次進(jìn)行編譯。
       
      3) . 顯示初始化參數(shù)的值:
      show PARAMETERS [parameter_name]
       
      4) . 顯示數(shù)據(jù)庫(kù)的版本:
      show REL[EASE]
       
      5) . 顯示SGA的大小
      show SGA
       
      6). 顯示當(dāng)前的用戶名
      show user 
      from

      34.查詢一個(gè)用戶下的對(duì)象   
      SQL>select * from tab;   
      SQL>select * from user_objects;   

      35.查詢一個(gè)用戶下的所有的表   
      SQL>select * from user_tables;   

      36.查詢一個(gè)用戶下的所有的索引   
      SQL>select * from user_indexes;   

      37. 定義一個(gè)用戶變量   
      方法有兩個(gè):   
      a. define   
      b. COL[UMN] [{column|expr} NEW_V[ALUE] variable [NOPRI[NT]|PRI[NT]]   OLD_V[ALUE] variable [NOPRI[NT]|PRI[NT]]   
      下面對(duì)每種方式給予解釋:   a. Syntax   DEF[INE] [variable]|[variable = text]   定義一個(gè)用戶變量并且可以分配給它一個(gè)CHAR值。   assign the value MANAGER to the variable POS, type:   SQL> DEFINE POS = MANAGER   assign the CHAR value 20 to the variable DEPTNO, type:   SQL> DEFINE DEPTNO = 20   list the definition of DEPTNO, enter   SQL> DEFINE DEPTNO   ―――――――――――――――   DEFINE DEPTNO = ”20” (CHAR)   定義了用戶變量POS后,就可以在sql*plus中用&POS或&&POS來(lái)引用該變量的值,sql*plus不會(huì)再提示你給變量輸入值。   
      b. COL[UMN] [{column|expr} NEW_V[ALUE] variable [NOPRI[NT]|PRI[NT]]   NEW_V[ALUE] variable   指定一個(gè)變量容納查詢出的列值。   例:column col_name new_value var_name noprint   select col_name from table_name where ……..   將下面查詢出的col_name列的值賦給var_name變量.   一個(gè)綜合的例子:   得到一個(gè)列值的兩次查詢之差(此例為10秒之內(nèi)共提交了多少事務(wù)):   column redo_writes new_value commit_count   select sum(stat.value) redo_writes   from v$sesstat stat, v$statname sn   where stat.statistic# = sn.statistic#   and sn.name = 'user commits';   -- 等待一會(huì)兒(此處為10秒);   execute dbms_lock.sleep(10);   set veri off   select sum(stat.value) - &commit_count commits_added   from v$sesstat stat, v$statname sn   where stat.statistic# = sn.statistic#   and sn.name = 'user commits';   

      38. 定義一個(gè)綁定變量   VAR[IABLE] [variable [NUMBER|CHAR|CHAR (n)|NCHAR|NCHAR (n) |VARCHAR2 (n)|NVARCHAR2 (n)|CLOB|NCLOB|REFCURSOR]]   定義一個(gè)綁定變量,該變量可以在pl/sql中引用。   可以用print命令顯示該綁定變量的信息。   如:   column inst_num heading "Inst Num" new_value inst_num format 99999;   column inst_name heading "Instance" new_value inst_name format a12;   column db_name heading "DB Name" new_value db_name format a12;   column dbid heading "DB Id" new_value dbid format 9999999999 just c;   prompt   prompt Current Instance   prompt ~~~~~~~~~~~~~~~~   select d.dbid dbid   , d.name db_name   , i.instance_number inst_num   , i.instance_name inst_name   from v$database d,   v$instance i;   variable dbid number;   variable inst_num number;   begin   :dbid := &dbid;   :inst_num := &inst_num;   end;   /   說(shuō)明:   在sql*plus中,該綁定變量可以作為一個(gè)存儲(chǔ)過程的參數(shù),也可以在匿名PL/SQL塊中直接引用。為了顯示用VARIABLE命令創(chuàng)建的綁定變量的值,可以用print命令   注意:   綁定變量不同于變量:   1. 定義方法不同   2. 引用方法不同   綁定變量::variable_name   變量:&variable_name or &&variable_name   3.在sql*plus中,可以定義同名的綁定變量與用戶變量,但是引用的方法不同。   

      39. &與&&的區(qū)別   &用來(lái)創(chuàng)建一個(gè)臨時(shí)變量,每當(dāng)遇到這個(gè)臨時(shí)變量時(shí),都會(huì)提示你輸入一個(gè)值。   &&用來(lái)創(chuàng)建一個(gè)持久變量,就像用用define命令或帶new_vlaue字句的column命令創(chuàng)建的持久變量一樣。當(dāng)用&&命令引用這個(gè)變量時(shí),不會(huì)每次遇到該變量就提示用戶鍵入值,而只是在第一次遇到時(shí)提示一次。   如,將下面三行語(yǔ)句存為一個(gè)腳本文件,運(yùn)行該腳本文件,會(huì)提示三次,讓輸入deptnoval的值:   select count(*) from emp where deptno = &deptnoval;   select count(*) from emp where deptno = &deptnoval;   select count(*) from emp where deptno = &deptnoval;   將下面三行語(yǔ)句存為一個(gè)腳本文件,運(yùn)行該腳本文件,則只會(huì)提示一次,讓輸入deptnoval的值:   select count(*) from emp where deptno = &&deptnoval;   select count(*) from emp where deptno = &&deptnoval;   select count(*) from emp where deptno = &&deptnoval;   

      40.在輸入sql語(yǔ)句的過程中臨時(shí)先運(yùn)行一個(gè)sql*plus命令   #   有沒有過這樣的經(jīng)歷? 在sql*plus中敲了很長(zhǎng)的命令后, 突然發(fā)現(xiàn)想不起某個(gè)列的名字了, 如果取消當(dāng)前的命令,待查詢后再重敲, 那太痛苦了. 當(dāng)然你可以另開一個(gè)sql*plus窗口進(jìn)行查詢, 但這里提供的方法更簡(jiǎn)單.   
      比如說(shuō), 你想查工資大于4000的員工的信息, 輸入了下面的語(yǔ)句:   SQL> select deptno, empno, ename   2 from emp   3 where   這時(shí), 你發(fā)現(xiàn)你想不起來(lái)工資的列名是什么了.   
      這種情況下, 只要在下一行以#開頭, 就可以執(zhí)行一條sql*plus命令, 執(zhí)行完后, 剛才的語(yǔ)句可以繼續(xù)輸入   SQL>> select deptno, empno, ename   2 from emp   3 where   6 #desc emp   Name Null? Type   ----------------------------------------- -------- --------------   EMPNO NOT NULL NUMBER(4)   ENAME VARCHAR2(10)   JOB VARCHAR2(9)   MGR NUMBER(4)   HIREDATE DATE   SAL NUMBER(7,2)   COMM NUMBER(7,2)   DEPTNO NUMBER(2)   6 sal > 4000;   DEPTNO EMPNO ENAME   ---------- ---------- ----------   10 7839 KING   
      41. SQLPlus中的快速?gòu)?fù)制和粘貼技巧   
      1) 鼠標(biāo)移至想要復(fù)制內(nèi)容的開始  
       2) 用右手食指按下鼠標(biāo)左鍵   
      3) 向想要復(fù)制內(nèi)容的另一角拖動(dòng)鼠標(biāo),與Word中選取內(nèi)容的方法一樣   
      4) 內(nèi)容選取完畢后(所選內(nèi)容全部反顯),鼠標(biāo)左鍵按住不動(dòng),用右手中指按鼠標(biāo)右鍵   
      5) 這時(shí),所選內(nèi)容會(huì)自動(dòng)復(fù)制到SQL*Plus環(huán)境的最后一行   
      42、得到當(dāng)前數(shù)據(jù)庫(kù)中當(dāng)前用戶可見的所有表名   select table_name from user_tables;

        相關(guān)評(píng)論

        閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過難過
        • 5 囧
        • 3 圍觀圍觀
        • 2 無(wú)聊無(wú)聊

        熱門評(píng)論

        最新評(píng)論

        發(fā)表評(píng)論 查看所有評(píng)論(0)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)