oracle set 使用命令

zhengbao_jun發表於2009-02-18

百度首頁 | 百度空間 | 登入                  林子大了:DBA集散地==>www.dbaol.cnDBA樂園:http://www.dbaol.cn,歡迎你來安營紮寨!

QQ群:16662305 主頁部落格相簿|個人檔案 |好友   檢視文章   
oracle set命令詳解2008年03月16日 星期日 23:09SET命令引數詳解

我好如容易錄入的,希望對大家有幫助,如果有錯誤也請指正.有更好的也請分享.

SQL*PLUS維護系統變數,也稱SET變數,利用它可為SQL*PLUS互動建立一個特殊的環境,如:設
置NUMBER資料的顯示寬度;設定每頁的行數;設定列的寬度等。可用SET命令改變這些系統變
量,也可用SHOW命令列出它們.

使用set命令的語法如下:
   SET 系統變數   值

其中系統變數及其可選值如下:
   ARRAY[SIZE]       {20(預設值)|n}
   AUTO[COMMIT]       {OFF(預設值)|ON|IMM[EDIATE]}
   BLO[CKTERMINATOR] {.(預設值)|C}
   CMDS[EP]          {;|C|OFF(預設值)|ON}
   COM[PATIBILITY]    {V5|V6|V7|NATIVE(預設值)}
   CON[CAT]          {.(預設值)|C|OFF|ON(預設值)}
   COPYC[OMMIT]       {0(預設值)|n}
   CRT crt            
   DEF[INE]          {&|C|OFF|ON(預設值)}
   ECHO                 {OFF|ON}
   EMBEDDED          {OFF(預設值)|ON}
   ESC[APE]          { (預設值)|C|OFF(預設值)|ON}
   FEED[BACK]           {6(預設值)|n|OFF|ON}
   FLU[SH]              {OFF|ON(預設值)}
   HEA[DING]          {OFF|ON(預設值)}
   HEADS[EP]          {|(預設值)|C|OFF|ON(預設值)}
   LIN[ESIZE]           {80(預設值)|n}
   LONG                 {80(預設值)|n}
   LONGC[HUNKSIZE]    {80(預設值)|n}
   MAXD[ATA]          n
   NEWP[AGE]          {1(預設值)|n}
   NULL text
   NUMF[ORMAT]       格式
   NUM[WIDTH]           {10(預設值)|n}
   PAGES[IZE]           {14(預設值)|n}
   PAU[SE]              {OFF(預設值)|ON|text}
   RECSEP             {WR[APPED](預設值)|EA[CH]|OFF}
   RECSEPCHAR           { |C}
   SCAN                 {OFF|ON(預設值)}
   SERVEROUT[PUT]    {OFF|ON} [SIZE n]
   SHOW[MODE]           {OFF(預設值)|ON}
   SPA[CE]              {1(預設值)|n}
   SQLC[ASE]          {MIX[ED](預設值)|LO[WER]|UP[PER]}
   SQLCO[NTINUE]        {>;(預設值)|文字}
   SQLN[UMBER]       {OFF|ON(預設值)}
   SQLPER[FIX]       {#(預設值)|C}
   SQLP[ROMPT]       {SQL>;(預設值)|文字}
   SQLT[ERMINATOR]    {;(預設值)|C|OFF|ON(預設值)}
   SUF[FIX]          {SQL(預設值)|文字}
   TAB                {OFF|ON(預設值)}
   TERM[OUT]          {OFF|ON(預設值)}
   TI[ME]             {OFF(預設值)|ON}
   TIMI[NG]          {OFF(預設值)|ON}
   TRIM[OUT]          {OFF|ON(預設值)}
   UND[ERLINE]       {-(預設值)|C|OFF|ON(預設值)}
   VER[IFY]          {OFF|ON(預設值)}
   WRA[P]             {OFF|ON(預設值)}

系統變數說明:
   ARRAY[SIZE] {20(預設值)|n} 置一批的行數,是SQL*PLUS一次從資料庫獲取的行數,有效值為1至5000. 大的值可提高查詢和子查詢的有效性

,可獲取許多行,但也需要更多的記憶體.當超過1000時,其效果不大.

   AUTO[COMMIT] {OFF(預設值)|ON|IMM[EDIATE]} 控制ORACLE對資料庫的修改的提交. 置ON時,在ORACLE執行每個SQL命令或PL/SQL塊後對資料

庫提交修改;置OFF時則制止自動提交,需要手工地提交修改,例如用SQL的COMMIT命令. IMMEDIATE功能同ON.

   BLO[CKTERMINATOR] {.(預設值)|C} 置非字母數字字元,用於結束PL/SQL塊.要執行塊時,必須發出RUN命令或/命令.

   CMDS[EP] {;|C|OFF(預設值)|ON} 置非字母數字字元,用於分隔在一行中輸入的多個SQL/PLUS命令.ON或OFF控制在一行中是否能輸入多個命

令. ON時將自動地將命令分隔符設為分號(;).其中C表示所置字元.

   COM[PATIBILITY] {V5|V6|V7|NATIVE(預設值)} 指定當前所連結的ORACLE版本.如果當前ORACLE的版本為5,則置COMPATIBILITY為V5; 為版本

6時置成V6; 為版本7時置成V7. 如果希望由資料庫決定該設定,在置成NATIVE.

   CON[CAT] {.(預設值)|C|OFF|ON(預設值)}設定結束一替換變數引用的字元.在中止替換變數引用字元之後可跟所有字元,作為體會組成部分,

否則SQL*PLUS將解釋為替換變數名的一部分.當CONCAT開關為ON時,SQL*PLUS可重置CONCAT的值為點(.).

   COPYC[OMMIT] {0(預設值)|n} 控制COPY命令提交對資料庫修改的批數.每次拷貝n批後,將提交到目標資料庫.有效值為0到5000. 可用變數

ARRAYSIZE設定一批的大小.如果置COPYCOMMIT為0,則僅在COPY操作結束時執行一次提交.

   CRT crt   改變SQL*PLUS RUNFORM命令使用的預設CRT檔案.如果置CRT不包含什麼,則crt僅包含''''.如果在一個Form的系統呼叫期間,要使

用NEW.CRT(預設CRT是OLD.CRT),可按下列形式呼叫Form.:
SQL>;RUNFORM. -C NEW form名
或者
SQL>;SET CRT NEW
SQL>;RUNFORM. form名
第二中方法儲存CRT選擇,以致在下次執行RUNFORM命令(是在同一次SQL*PLUS互動中)時,不需要指定.

   DEF[INE] {&|C|OFF|ON(預設值)} 設定在替換變數時所使用的字元.ON或OFF控制SQL*PLUS是否掃描替換變數的命令及用他們的值代替.

DEFINE的ON或OFF的設定控制SCAN變數的設定.

   ECHO {OFF|ON} 控制START命令是否列出命令檔案中的每一命令.為ON時,列出命令;為OFF時,制止列清單.

   EMBEDDED {OFF(預設值)|ON} 控制每一報表在一頁中開始的地方. 為OFF時,迫使每一報表是在新頁的頂部開始;為ON時,執行一報表在一頁的

任何位置開始.
 
   ESC[APE] { (預設值)|C|OFF(預設值)|ON} 定義作為Escape字元的字元.為OFF時,使Escape字元不起作用.為ON時,使Escape字元起作用.

   FEED[BACK] {6(預設值)|n|OFF|ON} 顯示由查詢返回的記錄數.ON和OFF置顯示為開或關.置FEEDBACK為ON時,等價於置n為1. 如果置FEEDBACK

為0,等價於將它置成OFF.

   FLU[SH] {OFF|ON(預設值)} 控制輸出送至使用者的顯示裝置.為OFF時,執行作業系統做緩衝區輸出;為ON時,不允許緩衝. 僅當非互動方式執行

命令檔案時使用OFF,這樣可減少程式I/O總是,從而改進效能.

   HEA[DING] {OFF|ON(預設值)} 控制報表中列標題的列印.為ON時,在報表中列印列標題;為OFF時禁止列印列標題.

   HEADS[EP] {|(預設值)|C|OFF|ON(預設值)} 定義標題分隔字元.可在COLUMN命令中使用標題分隔符,將列標題分成多行.ON和OFF將標題分隔

置成開或關.當標題分隔為關(OFF)時,SQL*PLUS列印標題分隔符像任何字元一樣.

   LIN[ESIZE] {80(預設值)|n} 置SQL*PLUS在一行中顯示的字元總數,它還控制在TTITLE和BTITLE中對準中心的文字和右對齊文字. 可定義

LINESIZE為1至最大值,其最大值依賴於作業系統.

   LONG {80(預設值)|n} 為顯示和拷貝LONG型別值的最大寬度的設定. 對於ORACLE7, n的最大值為2G位元組;對於版本6,最大值為32767.

   LONGC[HUNKSIZE] {80(預設值)|n} 為SQL*PLUS檢索LONG型別值的增量大小.由於記憶體的限制,可按增量檢索,該變數僅應用於ORACLE7.
 
   MAXD[ATA] n   置SQL*PLUS可處理的最大行寬字元數,其預設值和最大值在不同作業系統中是可變的.

   NEWP[AGE] {1(預設值)|n} 置每一頁的頭和頂部標題之間要列印的空行數.如果為0, 在頁之間送一換號符,並在許多終端上清屏.
 
   NULL text 設定表示空值(null)的文字,如果NULL沒有文字,則顯示空格(預設時). 使用COLUMN命令中的NULL子句可控制NULL變數對該列的設

置.

   NUMF[ORMAT] 格式   設定顯示數值的預設格式,該格式是數值格式.
 
   NUM[WIDTH] {10(預設值)|n} 對顯示數值設定預設寬度.
 
   PAGES[IZE] {14(預設值)|n} 置從頂部標題至頁結束之間的行數.在11英寸長的紙上列印報表,其值為54,上下各留一英寸(NEWPAGE值為6).

   PAU[SE] {OFF(預設值)|ON|text} 在顯示報表時,控制終端滾動.在每一暫停時,必須按RETURN鍵.ON將引起SQL*PLUS在每一報表輸出頁開始時

暫停.所指定的文字是每一次SQL*PLUS暫停時顯示的文字.如果要鍵入多個詞,必須用單引號將文字括起來.
 
   RECSEP {WR[APPED](預設值)|EA[CH]|OFF}
   RECSEPCHAR { |C}   指定顯示或列印記錄分行符的條件.一個記錄分行符,是由RECSEPCHAR指定的字元組成的單行.空格為RECSEPCHAR的預設

字元.
   RECSEP告訴SQL*PLUS在哪兒做記錄分隔.例如將RECSEP置成WRAPPED,在每一纏繞行之後,列印記錄分行符.如果將RECSEP置成EACH,SQL*PLUS在

每一行後列印一記錄分行符.如果將RECSEP置成OFF, SQL*PLUS不列印分行符.
 
   SCAN {OFF|ON(預設值)} 控制對存在的替換變數和值的掃描.OFF禁止替換變數和值的處理; ON則允許正常處理.
 
   SERVEROUT[PUT] {OFF|ON} [SIZE n] 控制在SQL*PLUS中的儲存過程是否顯示輸出.OFF時為禁止; ON時則顯示輸出. SIZE設定緩衝輸出的字

節數,預設值為2000, n不能小於2000或大於一百萬.
 
   SHOW[MODE] {OFF(預設值)|ON} 控制SQL*PLUS在執行SET命令時是否列出其新老值old或new的設定.

   SPA[CE] {1(預設值)|n}   設定輸出列之間空格的數目,其最大值為10.
 
   SQLC[ASE] {MIX[ED](預設值)|LO[WER]|UP[PER]}   先於執行之前,將SQL命令和PL/SQL塊的大小寫進行轉換. SQL*PLUS將轉換命令中的全部

文字,包括帶引號的直接量和標示符.SQLCASE不改變SQL緩衝區本身.
 
   SQLCO[NTINUE] {>;(預設值)|文字}   在一附加行上繼續一SQL*PLUS命令時,SQL*PLUS以該設定的字元序列進行提示.
 
   SQLN[UMBER] {OFF|ON(預設值)}   為SQL命令和PL/SQL塊的第二行和後繼行設定提示.為ON時,提示行號;為OFF時,提示設定為SQLPROMPT的值

.
 
   SQLPER[FIX]   {#(預設值)|C}   設定SQL*PLUS字首字元.在鍵入一SQL命令或PL/SQL塊時,可在單獨行上鍵入一SQL*PLUS命令,由SQL*PLUS的

字首字元做字首. SQL*PLUS直接執行該命令,不影響SQL命令或PL/SQL塊.字首字元必須是非字母數字字元.
 
   SQLP[ROMPT] {SQL>;(預設值)|文字}   設定SQL*PLUS的命令提示符.
 
   SQLT[ERMINATOR] {;(預設值)|C|OFF|ON(預設值)}   設定用於結束和執行SQL命令的字元. OFF意味著SQL*PLUS不識別命令終止符,用鍵入空

行來結束SQL命令. ON重設定終止符為預設的分號(;).
 
   SUF[FIX] {SQL(預設值)|文字}   設定預設檔案的字尾,SQL*PLUS在命令中使用,來引用命令檔案. SUFFIX不控制輸出(spool)檔案的副檔名.
 
   TAB {OFF|ON(預設值)}   決定SQL*PLUS在終端輸出中如何格式化空白空間. 為OFF時,在輸出中使用空格格式化空白空間;為ON時,用TAB字元

. TAB的預設值依賴於系統,用SHOW TAB命令可檢視該預設值.
 
   TERM[OUT] {OFF|ON(預設值)}   控制由檔案執行命令所產生的輸出的顯示. OFF禁止顯示,以致從一個命令檔案假離線輸出,在螢幕上看不到

輸出. ON時顯示輸出. TERMOUT OFF 不影響互動地進行命令的輸出.
 
   TI[ME] {OFF(預設值)|ON}   控制當前日期的顯示. ON時,在每條命令提示前顯示當前時間; OFF時禁止時間的顯示.
 
   TIMI[NG] {OFF(預設值)|ON}   控制時間統計的顯示. ON時,顯示每一個執行的SQL命令或PL/SQL塊的時間統計; OFF時,禁止每一個命令的時

間統計.
 
   TRIM[OUT] {OFF|ON(預設值)}   決定SQL*PLUS在每一顯示行的末端是否允許帶空格. ON時將每行尾部的空格去了,特別當從慢速的通訊裝置

存取SQL*PLUS時可改進效能; OFF時允許SQL*PLUS顯示尾部的空格.TRIMOUT ON 不影響假離線輸出. 設定TAB ON時,SQL*PLUS忽略TRIMOUT ON.
 
   UND[ERLINE] {-(預設值)|C|OFF|ON(預設值)}   設定用在SQL*PLUS報表中下劃線列標題的字元. ON或OFF將下劃線置成開或關.
 
   VER[IFY] {OFF|ON(預設值)}   控制SQL*PLUS用值替換前、後是否列出命令的文字. ON時顯示文字;OFF時禁止列清單.

   WRA[P] {OFF|ON(預設值)}   控制SQL*PLUS是否截斷資料項的顯示. OFF時截斷資料項;ON時允許資料項纏繞到下一行. 在COLUMN命令中使用

WRAPPED和TRUNCATED子句可控制對指定列的WRAP的設定.

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/235507/viewspace-553645/,如需轉載,請註明出處,否則將追究法律責任。

相關文章