SQL*Plus Set引數詳解

達芬奇的夢發表於2018-04-15
利用SQL*Plus維護系統變數(也稱set變數)可為SQL*Plus互動建立一個特殊的環境,如:設定number資料的顯示寬度,設定每頁的行數,設定列的寬度等。可用set命令改變這些系統變數,也可用show命令列出它們。以下是全部的用法,使用set命令的語法如下:

  set 系統變數值

  其中系統變數及其可選值如下:


arraysize

{20(預設值)|n}

設定一批的行數,是sqlplus一次從資料庫獲取的行數,有效值為1至5000。大的值可提高查詢和子查詢的有效性,可獲取許多行,但也需要更多的記憶體。當超過1000時,其效果不大。

autocommit

{off(預設值)|on|immediate}

控制oracle對資料庫的修改的提交。設定on時,在oracle執行每個sql命令或pl/sql塊後對資料庫提交修改;設定置off時,則制止自動提交,需要手工地提交修改。例如用sql的commit命令,immediate功能同on。

blockterminator

{.(預設值)|c}

用於結束pl/sql塊。要執行塊時必須發出run命令或/命令.

cmdsep

{ |c|off(預設值)|on}

用於分隔在一行中輸入的多個sql/plus命令。on或off控制在一行中是否能輸入多個命令。on時將自動地將命令分隔符設為分號(其中c表示所置字元)。

compatibility

{v5|v6|v7|native(預設值)}

指定當前所連線的oracle版本。如果當前oracle的版本為5,則置compatibility為v5,為版本6時置成v6,為版本7時置成v7。如果希望由資料庫決定該設定,則置成native。

concat

{.(預設值)|c|off|on(預設值)}

設定結束一替換變數引用的字元。在中止替換變數引用字元之後可跟所有字元作為體會組成部分,否則sqlplus將解釋為替換變數名的一部分。當concat開關為on時,sqlplus可重置concat的值為點(.)。

copycommit

{0(預設值)|n}

控制copy命令提交對資料庫修改的批數。每次複製n批後將提交到目標資料庫。有效值為0到5000。可用變數arraysize設定一批的大小。如果置copycommit為0,則僅在copy操作結束時執行一次提交。

crt

crt

改變sqlplus 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命令(是在同一次sqlplus互動中)時,不需要指定。

define

{&|c|off|on(預設值)}

設定在替換變數時所使用的字元。on或off控制sqlplus是否掃描替換變數的命令及用他們的值代替。define的on或off的設定控制scan變數的設定。

echo

{off|on}

控制start命令是否列出命令檔案中的每一命令。為on時,列出命令;為off時,制止列清單。

embedded

{off(預設值)|on}

控制每一報表在一頁中開始的地方。為off時,迫使每一報表是在新頁的頂部開始;為on時,執行一報表在一頁的任何位置開始。

escape

{\(預設值)|c|off(預設值)|on}

定義作為escape字元的字元。為off時,使escape字元不起作用;為on時,使escape字元起作用。

feedback

{6(預設值)|n|off|on}

顯示由查詢返回的記錄數。on和off置顯示為開或關。置feedback為on時,等價於置n為1;如果置feedback為0 等價於將它置成off。

flush

{off|on(預設值)}

控制輸出送至使用者的顯示裝置。為off時,執行作業系統做緩衝區輸出;為on時,不允許緩衝。僅當非互動方式執行命令檔案時使用off 這樣可減少程式i/o總數,從而改進效能。

heading

{off|on(預設值)}

控制報表中列標題的列印。為on時,在報表中列印列標題;為off時,禁止列印列標題。

headsep

{|(預設值)|c|off|on(預設值)}

定義標題分隔字元。可在column命令中使用標題分隔符,將列標題分成多行。on和off將標題分隔置成開或關。當標題分隔為關(off)時,sqlplus列印標題分隔符像任何字元一樣。

linesize

{80(預設值)|n}

設定sqlplus在一行中顯示的字元總數,它還控制在ttitle和btitle中對準中心的文字和右對齊文字。可定義linesize為1至最大值,其最大值依賴於作業系統。

long

{80(預設值)|n}

為顯示和複製long型別值的最大寬度的設定。對於oracle7,n的最大值為2g位元組;對於版本6,最大值為32767。

longchunksize

{80(預設值)|n}

為sqlplus檢索long型別值的增量大小。由於記憶體的限制,可按增量檢索,該變數僅應用於oracle7。

maxdata

n

設定sqlplus可處理的最大行寬字元數,其預設值和最大值在不同作業系統中是可變的。

newpage

{1(預設值)|n}

設定每一頁的頭和頂部標題之間要列印的空行數。如果為0,在頁之間送一換號符,並在許多終端上清屏。

null

text

設定表示空值(null)的文字。如果null沒有文字,則顯示空格(預設時)。使用column命令中的null子句可控制null變數對該列的設定。

numformat

格式

設定顯示數值的預設格式,該格式是數值格式。

numwidth

{10(預設值)|n}

對顯示數值設定預設寬度。

pagesize

{14(預設值)|n}

設定從頂部標題至頁結束之間的行數。在11英寸長的紙上列印報表,其值為54,上下各留一英寸(newpage值為6)。

pause

{off(預設值)|on|text}

在顯示報表時,控制終端滾動。在每一暫停時,必須按return鍵。on將引起sqlplus在每一報表輸出頁開始時暫停。所指定的文字是每一次sqlplus暫停時顯示的文字。如果要鍵入多個詞,必須用單引號將文字括起來。

recsep

{wrapped(預設值)|each|off}

recsep告訴sqlplus在哪兒做記錄分隔。例如將recsep置成wrapped,在每一纏繞行之後,列印記錄分行符;如果將recsep置成each,sqlplus在每一行後列印一記錄分行符;如果將recsep置成off,sqlplus不列印分行符。

recsepchar

{|c}

指定顯示或列印記錄分行符的條件。一個記錄分行符,是由recsepchar指定的字元組成的單行。空格為recsepchar的預設字元。

scan

{off|on(預設值)}

控制對存在的替換變數和值的掃描。off禁止替換變數和值的處理;on則允許正常處理。

serveroutput

{off|on}size

控制在sqlplus中的過程是否顯示輸出。off時為禁止;on時則顯示輸出。size設定緩衝輸出的位元組數,預設值為2000。n不能小於2000或大於一百萬。

showmode

{off(預設值)|on}

控制sqlplus在執行set命令時是否列出其新老值old或new的設定。

space

{1(預設值)|n}

設定輸出列之間空格的數目,其最大值為10。

sqlcase

{mixed(預設值)|lower|upper}

先於執行之前,將sql命令和pl/sql塊的大小寫進行轉換。sqlplus將轉換命令中的全部文字,包括帶引號的直接量和標示符。sqlcase不改變sql緩衝區本身。

sqlcontinue

{>(預設值)|文字}

在一附加行上繼續一sqlplus命令時,sqlplus以該設定的字元序列進行提示。

sqlnumber

{off|on(預設值)}

為sql命令和pl/sql塊的第二行和後繼行設定提示。為on時,提示行號;為off時,提示設定為sqlprompt的值。

sqlperfix

{#(預設值)|c}

設定sqlplus字首字元。在鍵入一sql命令或pl/sql塊時,可在單獨行上鍵入一sqlplus命令,由sqlplus的字首字元做字首。sqlplus直接執行該命令,不影響sql命令或pl/sql塊。字首字元必須是非字母數字字元。

sqlprompt

{sql>(預設值)|文字}

設定sqlplus的命令提示符。

sqlterminator

{(預設值)|c|off|on(預設值)}

設定用於結束和執行sql命令的字元。off意味著sqlplus不識別命令終止符,用鍵入空行來結束sql命令;on重設定終止符為預設的分號。

suffix

{sql(預設值)|文字}

設定預設檔案的字尾。sqlplus在命令中使用,來引用命令檔案。suffix不控制輸出(spool)檔案的副檔名。

tab

{off|on(預設值)}

決定sqlplus在終端輸出中如何格式化空白空間。為off時,在輸出中使用空格格式化空白空間;為on時,用tab字元。tab的預設值依賴於系統,用show tab命令可檢視該預設值。

termout

{off|on(預設值)}

控制由檔案執行命令所產生的輸出的顯示。off禁止顯示,以致從一個命令檔案假離線輸出,在螢幕上看不到輸出;on時顯示輸出。Termout off 不影響互動地進行命令的輸出。

time

{off(預設值)|on}

控制當前日期的顯示。on時,在每條命令提示前顯示當前時間;off時禁止時間的顯示。

timing

{off(預設值)|on}

控制時間統計的顯示。on時,顯示每一個執行的sql命令或pl/sql塊的時間統計;off時,禁止每一個命令的時間統計。

trimout

{off|on(預設值)}

決定sqlplus在每一顯示行的末端是否允許帶空格。on時將每行尾部的空格去了,特別當從慢速的通訊裝置存取sqlplus時可改進效能;off時允許sqlplus顯示尾部的空格。trimout on不影響假離線輸出。設定tab on時,sqlplus忽略trimout on。

underline

{-(預設值)|c|off|on(預設值)}

設定用在sqlplus報表中下劃線列標題的字元。on或off將下劃線置成開或關。

verify

{off|on(預設值)}

控制sqlplus用值替換前、後是否列出命令的文字。on時顯示文字;off時禁止列清單。

wrap

{off|on(預設值)}

控制sqlplus是否截斷資料項的顯示。off時截斷資料項;on時允許資料項纏繞到下一行。在column命令中使用wrapped和truncated子句可控制對指定列的wrap的設定。


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

相關文章