sqlplus 大全_第1頁
sqlplus 大全_第2頁
sqlplus 大全_第3頁
sqlplus 大全_第4頁
sqlplus 大全_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、Oracle的sql*plus是與oracle進(jìn)行交互的客戶端工具。在sql*plus中,可以運(yùn)行sql*plus命令與sql*plus語句。 我們通常所說的DML、DDL、DCL語句都是sql*plus語句,它們執(zhí)行完后,都可以保存在一個被稱為sql buffer的內(nèi)存區(qū)域中,并且只能保存一條最近執(zhí)行的sql語句,我們可以對保存在sql buffer中的sql 語句進(jìn)行修改,然后再次執(zhí)行,sql*plus一般都與數(shù)據(jù)庫打交道。 除了sql*plus語句,在sql*plus中執(zhí)行的其它語句我們稱之為sql*plus命令。它們執(zhí)行完后,不保存在sql buffer的內(nèi)存區(qū)域中,它們一般用來對輸出

2、的結(jié)果進(jìn)行格式化顯示,以便于制作報表。 下面就介紹一下一些常用的sql*plus命令:1. 執(zhí)行一個SQL腳本文件 SQL>start file_name SQL> file_name 我們可以將多條sql語句保存在一個文本文件中,這樣當(dāng)要執(zhí)行這個文件中的所有的sql語句時,用上面的任一命令即可,這類似于dos中的批處理。2. 對當(dāng)前的輸入進(jìn)行編輯 SQL>edit3. 重新運(yùn)行上一次運(yùn)行的sql語句 SQL>/4. 將顯示的內(nèi)容輸出到指定文件 SQL> SPOOL file_name 在屏幕上的所有內(nèi)容都包含在該文件中,包括你輸入的sql語句。5. 關(guān)閉spoo

3、l輸出 SQL> SPOOL OFF 只有關(guān)閉spool輸出,才會在輸出文件中看到輸出的內(nèi)容。6顯示一個表的結(jié)構(gòu) SQL> desc table_name7. COL命令: 主要格式化列的顯示形式。 該命令有許多選項(xiàng),具體如下: COLUMN column|expr option . Option選項(xiàng)可以是如下的子句: ALIAS alias CLEAR FOLD_AFTER FOLD_BEFORE FORMAT format HEADING text JUSTIFY LEFT|CENTER|CENTRE|RIGHT LIKE expr|alias NEWLINE NEW_VALU

4、E variable NOPRINT|PRINT NULL text OLD_VALUE variable ON|OFF WRAPPED|WORD_WRAPPED|TRUNCATED1). 改變?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 DN

5、AME location - - - 10 ACCOUNTING NEW YORK2). 將列名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 l

6、ines from one line.3). 改變列的顯示長度: FORMAT 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 SALESMAN4). 設(shè)置列標(biāo)題的對齊方式 JUSTIFY LEFT|C

7、ENTER|CENTRE|RIGHT SQL> col ename justify center SQL> / EMPNO ENAME JOB - - - 7369 SMITH CLERK 7499 ALLEN SALESMAN 7521 WARD SALESMAN 對于NUMBER型的列,列標(biāo)題缺省在右邊,其它類型的列標(biāo)題缺省在左邊5). 不讓一個列顯示在屏幕上 NOPRINT|PRINT SQL> col job noprint SQL> / EMPNO ENAME - - 7369 SMITH 7499 ALLEN 7521 WARD6). 格式化NUMBER類型

8、列的顯示: SQL> COLUMN SAL FORMAT $99,990 SQL> / Employee Department Name Salary Commission - - - - 30 ALLEN $1,600 3007). 顯示列值時,如果列值為NULL值,用text值代替NULL值 COMM NULL text SQL>COL COMM NULL text. 設(shè)置一個列的回繞方式 WRAPPED|WORD_WRAPPED|TRUNCATED COL1 - HOW ARE YOU?SQL>COL COL1 FORMAT A5 SQL>COL COL1

9、WRAPPED COL1 - HOW A RE YO U?SQL> COL COL1 WORD_WRAPPED COL1 - HOW ARE YOU?SQL> COL COL1 WORD_WRAPPED COL1 - HOW A9). 顯示列的當(dāng)前的顯示屬性值 SQL> COLUMN column_name10). 將所有列的顯示屬性設(shè)為缺省值 SQL> CLEAR COLUMNS8. 屏蔽掉一個列中顯示的相同的值 BREAK ON break_column SQL> BREAK ON DEPTNO SQL> SELECT DEPTNO, ENAME, SA

10、L FROM EMP WHERE SAL < 2500 ORDER BY DEPTNO; DEPTNO ENAME SAL - - - 10 CLARK 2450 MILLER 1300 20 SMITH 800 ADAMS 11009. 在上面屏蔽掉一個列中顯示的相同的值的顯示中,每當(dāng)列值變化時在值變化之前插入n個空行。 BREAK ON break_column SKIP nSQL> BREAK ON DEPTNO SKIP 1 SQL> / DEPTNO ENAME SAL - - - 10 CLARK 2450 MILLER 130020 SMITH 800 ADAM

11、S 110010. 顯示對BREAK的設(shè)置 SQL> BREAK11. 刪除6、7的設(shè)置 SQL> CLEAR BREAKS12. Set 命令: 該命令包含許多子命令: SET system_variable value system_variable value 可以是如下的子句之一: APPINFOON|OFF|text ARRAYSIZE 15|n AUTOCOMMITON|OFF|IMMEDIATE|n AUTOPRINT ON|OFF AUTORECOVERY ON|OFF AUTOTRACE ON|OFF|TRACEONLY EXPLAIN STATISTICS BL

12、OCKTERMINATOR .|c CMDSEP ;|c|ON|OFF COLSEP _|text COMPATIBILITYV7|V8|NATIVE CONCAT .|c|ON|OFF COPYCOMMIT 0|n COPYTYPECHECK ON|OFF DEFINE &|c|ON|OFF DESCRIBE DEPTH 1|n|ALLLINENUM ON|OFFINDENT ON|OFF ECHO ON|OFF EDITFILE file_name.ext EMBEDDED ON|OFF ESCAPE |c|ON|OFF FEEDBACK 6|n|ON|OFF FLAGGER OF

13、F|ENTRY |INTERMEDIATE|FULL FLUSH ON|OFF HEADING ON|OFF HEADSEP |c|ON|OFF INSTANCE instance_path|LOCAL LINESIZE 80|n LOBOFFSET n|1 LOGSOURCE pathname LONG 80|n LONGCHUNKSIZE 80|n MARKUP HTML ON|OFF HEAD text BODY text ENTMAP ON|OFF SPOOL ON|OFF PREFORMAT ON|OFF NEWPAGE 1|n|NONE NULL text NUMFORMAT fo

14、rmat NUMWIDTH 10|n PAGESIZE 24|n PAUSE ON|OFF|text RECSEP WRAPPED|EACH|OFF RECSEPCHAR _|c SERVEROUTPUT ON|OFF SIZE n FORMAT WRAPPED|WORD_ WRAPPED|TRUNCATED SHIFTINOUT VISIBLE|INVISIBLE SHOWMODE ON|OFF SQLBLANKLINES ON|OFF SQLCASE MIXED|LOWER|UPPER SQLCONTINUE > |text SQLNUMBER ON|OFF SQLPREFIX #|

15、c SQLPROMPT SQL>|text SQLTERMINATOR ;|c|ON|OFF SUFFIX SQL|text TAB ON|OFF TERMOUT ON|OFF TIME ON|OFF TIMING ON|OFF TRIMOUT ON|OFF TRIMSPOOL ON|OFF UNDERLINE -|c|ON|OFF VERIFY ON|OFF WRAP ON|OFF1). 設(shè)置當(dāng)前session是否對修改的數(shù)據(jù)進(jìn)行自動提交 SQL>SET AUTOCOMMIT ON|OFF|IMMEDIATE| n2)在用start命令執(zhí)行一個sql腳本時,是否顯示腳本中正在執(zhí)行

16、的SQL語句 SQL> SET ECHO ON|OFF3).是否顯示當(dāng)前sql語句查詢或修改的行數(shù) SQL> SET FEEDBACK 6|n|ON|OFF 默認(rèn)只有結(jié)果大于6行時才顯示結(jié)果的行數(shù)。如果set feedback 1 ,則不管查詢到多少行都返回。當(dāng)為off 時,一律不顯示查詢的行數(shù)4).是否顯示列標(biāo)題 SQL> SET HEADING ON|OFF 當(dāng)set heading off 時,在每頁的上面不顯示列標(biāo)題,而是以空白行代替5).設(shè)置一行可以容納的字符數(shù) SQL> SET LINESIZE 80|n 如果一行的輸出內(nèi)容大于設(shè)置的一行可容納的字符數(shù),則折

17、行顯示。6).設(shè)置頁與頁之間的分隔 SQL> SET NEWPAGE 1|n|NONE 當(dāng)set newpage 0 時,會在每頁的開頭有一個小的黑方框。 當(dāng)set newpage n 時,會在頁和頁之間隔著n個空行。 當(dāng)set newpage none 時,會在頁和頁之間沒有任何間隔。7).顯示時,用text值代替NULL值 SQL> SET NULL text.設(shè)置一頁有多少行數(shù) SQL> SET PAGESIZE 24|n 如果設(shè)為0,則所有的輸出內(nèi)容為一頁并且不顯示列標(biāo)題9).是否顯示用DBMS_OUTPUT.PUT_LINE包進(jìn)行輸出的信息。 SQL> SET

18、 SERVEROUTPUT ON|OFF 在編寫存儲過程時,我們有時會用dbms_output.put_line將必要的信息輸出,以便對存儲過程進(jìn)行調(diào)試,只有將serveroutput變量設(shè)為on后,信息才能顯示在屏幕上。 dbms_output.put_line會"吃掉"最前面的空格?在set serveroutputon后加上format wrapped參數(shù)!10).當(dāng)SQL語句的長度大于LINESIZE時,是否在顯示時截取SQL語句。 SQL> SET WRAP ON|OFF 當(dāng)輸出的行的長度大于設(shè)置的行的長度時(用set linesize n命令設(shè)置),當(dāng)se

19、twrap on時,輸出行的多于的字符會另起一行顯示,否則,會將輸出行的多于字符切除,不予顯示。11).是否在屏幕上顯示輸出的內(nèi)容,主要用與SPOOL結(jié)合使用。 SQL> SET TERMOUT ON|OFF 在用spool命令將一個大表中的內(nèi)容輸出到一個文件中時,將內(nèi)容輸出在屏幕上會耗費(fèi)大量的時間,設(shè)置set termspool off后,則輸出的內(nèi)容只會保存在輸出文件中,不會顯示在屏幕上,極大的提高了spool的速度。12).將SPOOL輸出中每行后面多余的空格去掉 SQL> SET TRIMSOUT ON|OFF13)顯示每個sql語句花費(fèi)的執(zhí)行時間 set TIMING O

20、N|OFF14修改sql buffer中的當(dāng)前行中,第一個出現(xiàn)的字符串 CHANGE /old_value/new_value SQL> l 1* select * from dept SQL> c/dept/emp 1* select * from emp15編輯sql buffer中的sql語句 EDIT16顯示sql buffer中的sql語句,list n顯示sql buffer中的第n行,并使第n行成為當(dāng)前行 LIST n17在sql buffer的當(dāng)前行下面加一行或多行 INPUT18將指定的文本加到sql buffer的當(dāng)前行后面 APPEND SQL> sel

21、ect deptno, 2 dname 3 from dept; DEPTNO DNAME - - 10 ACCOUNTING 20 RESEARCH 30 SALES 40 OPERATIONSSQL> 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 OPERATI

22、ONS BOSTON19將sql buffer中的sql語句保存到一個文件中 SAVE file_name20將一個文件中的sql語句導(dǎo)入到sql buffer中 GET file_name21再次執(zhí)行剛才已經(jīng)執(zhí)行的sql語句 RUN or /22執(zhí)行一個存儲過程 EXECUTE procedure_name23在sql*plus中連接到指定的數(shù)據(jù)庫 CONNECT user_name/passwddb_alias24設(shè)置每個報表的頂部標(biāo)題 TTITLE25設(shè)置每個報表的尾部標(biāo)題 BTITLE26寫一個注釋 REMARK text27將指定的信息或一個空行輸出到屏幕上 PROMPT text2

23、8將執(zhí)行的過程暫停,等待用戶響應(yīng)后繼續(xù)執(zhí)行 PAUSE textSql>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 querysql>COPY FROM SCOTT/TIGERHQ TO JOHN/CHROMEWEST create emp_temp USING SELECT * FROM EMP30不退出sql*plus,在sql*plus中執(zhí)行一個操作系統(tǒng)命令: HOSTSql> host hostname 該命令在windows下可能被支持。31在sql*plus中,切換到操作系統(tǒng)命令提示符下,運(yùn)行操作系統(tǒng)命令后,可以再次切換回sql*plus: !sql>! $hostname $exit sql>該命令在windows下不被支持。32顯示sql*plus命令的幫

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論