共計(jì) 4589 個(gè)字符,預(yù)計(jì)需要花費(fèi) 12 分鐘才能閱讀完成。
今天就跟大家聊聊有關(guān)怎么理解 SQL*Plus Set 參數(shù),可能很多人都不太了解,為了讓大家更加了解,丸趣 TV 小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
利用 SQL*Plus 維護(hù)系統(tǒng)變量 (也稱 set 變量) 可為 SQL*Plus 交互建立一個(gè)特殊的環(huán)境,如:設(shè)置 number 數(shù)據(jù)的顯示寬度,設(shè)置每頁的行數(shù),設(shè)置列的寬度等。可用 set 命令改變這些系統(tǒng)變量,也可用 show 命令列出它們。以下是全部的用法,使用 set 命令的語法如下:
set 系統(tǒng)變量值
其中系統(tǒng)變量及其可選值如下:
arraysize
{20(默認(rèn)值)|n}
設(shè)置一批的行數(shù),是 sqlplus 一次從數(shù)據(jù)庫獲取的行數(shù),有效值為 1 至 5000。大的值可提高查詢和子查詢的有效性,可獲取許多行,但也需要更多的內(nèi)存。當(dāng)超過 1000 時(shí),其效果不大。
autocommit
{off(默認(rèn)值)|on|immediate}
控制 oracle 對數(shù)據(jù)庫的修改的提交。設(shè)置 on 時(shí),在 oracle 執(zhí)行每個(gè) sql 命令或 pl/sql 塊后對數(shù)據(jù)庫提交修改;設(shè)置置 off 時(shí),則制止自動(dòng)提交,需要手工地提交修改。例如用 sql 的 commit 命令,immediate 功能同 on。
blockterminator
{.(默認(rèn)值)|c}
用于結(jié)束 pl/sql 塊。要執(zhí)行塊時(shí)必須發(fā)出 run 命令或 / 命令.
cmdsep
{|c|off(默認(rèn)值)|on}
用于分隔在一行中輸入的多個(gè) sql/plus 命令。on 或 off 控制在一行中是否能輸入多個(gè)命令。on 時(shí)將自動(dòng)地將命令分隔符設(shè)為分號(hào)(其中 c 表示所置字符)。
compatibility
{v5|v6|v7|native(默認(rèn)值)}
指定當(dāng)前所連接的 oracle 版本。如果當(dāng)前 oracle 的版本為 5,則置 compatibility 為 v5,為版本 6 時(shí)置成 v6,為版本 7 時(shí)置成 v7。如果希望由數(shù)據(jù)庫決定該設(shè)置,則置成 native。
concat
{.(默認(rèn)值)|c|off|on(默認(rèn)值)}
設(shè)置結(jié)束一替換變量引用的字符。在中止替換變量引用字符之后可跟所有字符作為體會(huì)組成部分,否則 sqlplus 將解釋為替換變量名的一部分。當(dāng) concat 開關(guān)為 on 時(shí),sqlplus 可重置 concat 的值為點(diǎn)(.)。
copycommit
{0(默認(rèn)值)|n}
控制 copy 命令提交對數(shù)據(jù)庫修改的批數(shù)。每次拷貝 n 批后將提交到目標(biāo)數(shù)據(jù)庫。有效值為 0 到 5000。可用變量 arraysize 設(shè)置一批的大小。如果置 copycommit 為 0,則僅在 copy 操作結(jié)束時(shí)執(zhí)行一次提交。
crt
crt
改變 sqlplus runform 命令使用的缺省 crt 文件。如果設(shè)置 crt 不包含什么,則 crt 僅包含’’’’。如果在一個(gè) form 的系統(tǒng)調(diào)用期間要使用 new.crt(缺省 crt 是 old.crt)。可按下列形式調(diào)用 form:
sql runform –c new form 名
或者 sql set crt new
sql runform form 名
第二中方法存儲(chǔ) crt 選擇以致在下次運(yùn)行 runform 命令(是在同一次 sqlplus 交互中)時(shí),不需要指定。
define
{|c|off|on(默認(rèn)值)}
設(shè)置在替換變量時(shí)所使用的字符。on 或 off 控制 sqlplus 是否掃描替換變量的命令及用他們的值代替。define 的 on 或 off 的設(shè)置控制 scan 變量的設(shè)置。
echo
{off|on}
控制 start 命令是否列出命令文件中的每一命令。為 on 時(shí),列出命令;為 off 時(shí),制止列清單。
embedded
{off(默認(rèn)值)|on}
控制每一報(bào)表在一頁中開始的地方。為 off 時(shí),迫使每一報(bào)表是在新頁的頂部開始;為 on 時(shí),運(yùn)行一報(bào)表在一頁的任何位置開始。
escape
{\(默認(rèn)值)|c|off(默認(rèn)值)|on}
定義作為 escape 字符的字符。為 off 時(shí),使 escape 字符不起作用;為 on 時(shí),使 escape 字符起作用。
feedback
{6(默認(rèn)值)|n|off|on}
顯示由查詢返回的記錄數(shù)。on 和 off 置顯示為開或關(guān)。置 feedback 為 on 時(shí),等價(jià)于置 n 為 1;如果置 feedback 為 0 等價(jià)于將它置成 off。
flush
{off|on(默認(rèn)值)}
控制輸出送至用戶的顯示設(shè)備。為 off 時(shí),運(yùn)行操作系統(tǒng)做緩沖區(qū)輸出;為 on 時(shí),不允許緩沖。僅當(dāng)非交互方式運(yùn)行命令文件時(shí)使用 off 這樣可減少程序 i / o 總數(shù),從而改進(jìn)性能。
heading
{off|on(默認(rèn)值)}
控制報(bào)表中列標(biāo)題的打印。為 on 時(shí),在報(bào)表中打印列標(biāo)題;為 off 時(shí),禁止打印列標(biāo)題。
headsep
{|(默認(rèn)值)|c|off|on(默認(rèn)值)}
定義標(biāo)題分隔字符。可在 column 命令中使用標(biāo)題分隔符,將列標(biāo)題分成多行。on 和 off 將標(biāo)題分隔置成開或關(guān)。當(dāng)標(biāo)題分隔為關(guān) (off) 時(shí),sqlplus 打印標(biāo)題分隔符像任何字符一樣。
linesize
{80(默認(rèn)值)|n}
設(shè)置 sqlplus 在一行中顯示的字符總數(shù),它還控制在 ttitle 和 btitle 中對準(zhǔn)中心的文本和右對齊文本。可定義 linesize 為 1 至最大值,其最大值依賴于操作系統(tǒng)。
long
{80(默認(rèn)值)|n}
為顯示和拷貝 long 類型值的最大寬度的設(shè)置。對于 oracle7,n 的最大值為 2g 字節(jié);對于版本 6,最大值為 32767。
longchunksize
{80(默認(rèn)值)|n}
為 sqlplus 檢索 long 類型值的增量大小。由于內(nèi)存的限制,可按增量檢索,該變量僅應(yīng)用于 oracle7。
maxdata
n
設(shè)置 sqlplus 可處理的最大行寬字符數(shù),其缺省值和最大值在不同操作系統(tǒng)中是可變的。
newpage
{1(默認(rèn)值)|n}
設(shè)置每一頁的頭和頂部標(biāo)題之間要打印的空行數(shù)。如果為 0,在頁之間送一換號(hào)符,并在許多終端上清屏。
null
text
設(shè)置表示空值 (null) 的文本。如果 null 沒有文本,則顯示空格(缺省時(shí))。使用 column 命令中的 null 子句可控制 null 變量對該列的設(shè)置。
numformat
格式
設(shè)置顯示數(shù)值的缺省格式,該格式是數(shù)值格式。
numwidth
{10(默認(rèn)值)|n}
對顯示數(shù)值設(shè)置缺省寬度。
pagesize
{14(默認(rèn)值)|n}
設(shè)置從頂部標(biāo)題至頁結(jié)束之間的行數(shù)。在 11 英寸長的紙上打印報(bào)表,其值為 54,上下各留一英寸(newpage 值為 6)。
pause
{off(默認(rèn)值)|on|text}
在顯示報(bào)表時(shí),控制終端滾動(dòng)。在每一暫停時(shí),必須按 return 鍵。on 將引起 sqlplus 在每一報(bào)表輸出頁開始時(shí)暫停。所指定的文本是每一次 sqlplus 暫停時(shí)顯示的文本。如果要鍵入多個(gè)詞,必須用單引號(hào)將文本括起來。
recsep
{wrapped(默認(rèn)值)|each|off}
recsep 告訴 sqlplus 在哪兒做記錄分隔。例如將 recsep 置成 wrapped,在每一纏繞行之后,打印記錄分行符;如果將 recsep 置成 each,sqlplus 在每一行后打印一記錄分行符;如果將 recsep 置成 off,sqlplus 不打印分行符。
recsepchar
{|c}
指定顯示或打印記錄分行符的條件。一個(gè)記錄分行符,是由 recsepchar 指定的字符組成的單行。空格為 recsepchar 的默認(rèn)字符。
scan
{off|on(默認(rèn)值)}
控制對存在的替換變量和值的掃描。off 禁止替換變量和值的處理;on 則允許正常處理。
serveroutput
{off|on}size
控制在 sqlplus 中的存儲(chǔ)過程是否顯示輸出。off 時(shí)為禁止;on 時(shí)則顯示輸出。size 設(shè)置緩沖輸出的字節(jié)數(shù),缺省值為 2000。n 不能小于 2000 或大于一百萬。
showmode
{off(默認(rèn)值)|on}
控制 sqlplus 在執(zhí)行 set 命令時(shí)是否列出其新老值 old 或 new 的設(shè)置。
space
{1(默認(rèn)值)|n}
設(shè)置輸出列之間空格的數(shù)目,其最大值為 10。
sqlcase
{mixed(默認(rèn)值)|lower|upper}
先于執(zhí)行之前,將 sql 命令和 pl/sql 塊的大小寫進(jìn)行轉(zhuǎn)換。sqlplus 將轉(zhuǎn)換命令中的全部文本,包括帶引號(hào)的直接量和標(biāo)示符。sqlcase 不改變 sql 緩沖區(qū)本身。
sqlcontinue
{(默認(rèn)值)| 文本}
在一附加行上繼續(xù)一 sqlplus 命令時(shí),sqlplus 以該設(shè)置的字符序列進(jìn)行提示。
sqlnumber
{off|on(默認(rèn)值)}
為 sql 命令和 pl/sql 塊的第二行和后繼行設(shè)置提示。為 on 時(shí),提示行號(hào);為 off 時(shí),提示設(shè)置為 sqlprompt 的值。
sqlperfix
{#(默認(rèn)值)|c}
設(shè)置 sqlplus 前綴字符。在鍵入一 sql 命令或 pl/sql 塊時(shí),可在單獨(dú)行上鍵入一 sqlplus 命令,由 sqlplus 的前綴字符做前綴。sqlplus 直接執(zhí)行該命令,不影響 sql 命令或 pl/sql 塊。前綴字符必須是非字母數(shù)字字符。
sqlprompt
{sql (默認(rèn)值)| 文本}
設(shè)置 sqlplus 的命令提示符。
sqlterminator
{(默認(rèn)值)|c|off|on(默認(rèn)值)}
設(shè)置用于結(jié)束和執(zhí)行 sql 命令的字符。off 意味著 sqlplus 不識(shí)別命令終止符,用鍵入空行來結(jié)束 sql 命令;on 重設(shè)置終止符為默認(rèn)的分號(hào)。
suffix
{sql(默認(rèn)值)| 文本}
設(shè)置缺省文件的后綴。sqlplus 在命令中使用,來引用命令文件。suffix 不控制輸出 (spool) 文件的擴(kuò)展名。
tab
{off|on(默認(rèn)值)}
決定 sqlplus 在終端輸出中如何格式化空白空間。為 off 時(shí),在輸出中使用空格格式化空白空間;為 on 時(shí),用 tab 字符。tab 的缺省值依賴于系統(tǒng),用 show tab 命令可查看該缺省值。
termout
{off|on(默認(rèn)值)}
控制由文件執(zhí)行命令所產(chǎn)生的輸出的顯示。off 禁止顯示,以致從一個(gè)命令文件假脫機(jī)輸出,在屏幕上看不到輸出;on 時(shí)顯示輸出。Termout off 不影響交互地進(jìn)行命令的輸出。
time
{off(默認(rèn)值)|on}
控制當(dāng)前日期的顯示。on 時(shí),在每條命令提示前顯示當(dāng)前時(shí)間;off 時(shí)禁止時(shí)間的顯示。
timing
{off(默認(rèn)值)|on}
控制時(shí)間統(tǒng)計(jì)的顯示。on 時(shí),顯示每一個(gè)運(yùn)行的 sql 命令或 pl/sql 塊的時(shí)間統(tǒng)計(jì);off 時(shí),禁止每一個(gè)命令的時(shí)間統(tǒng)計(jì)。
trimout
{off|on(默認(rèn)值)}
決定 sqlplus 在每一顯示行的末端是否允許帶空格。on 時(shí)將每行尾部的空格去了,特別當(dāng)從慢速的通信設(shè)備存取 sqlplus 時(shí)可改進(jìn)性能;off 時(shí)允許 sqlplus 顯示尾部的空格。trimout on 不影響假脫機(jī)輸出。設(shè)置 tab on 時(shí),sqlplus 忽略 trimout on。
underline
{-(默認(rèn)值)|c|off|on(默認(rèn)值)}
設(shè)置用在 sqlplus 報(bào)表中下劃線列標(biāo)題的字符。on 或 off 將下劃線置成開或關(guān)。
verify
{off|on(默認(rèn)值)}
控制 sqlplus 用值替換前、后是否列出命令的文本。on 時(shí)顯示文本;off 時(shí)禁止列清單。
wrap
{off|on(默認(rèn)值)}
控制 sqlplus 是否截?cái)鄶?shù)據(jù)項(xiàng)的顯示。off 時(shí)截?cái)鄶?shù)據(jù)項(xiàng);on 時(shí)允許數(shù)據(jù)項(xiàng)纏繞到下一行。在 column 命令中使用 wrapped 和 truncated 子句可控制對指定列的 wrap 的設(shè)置。
看完上述內(nèi)容,你們對怎么理解 SQL*Plus Set 參數(shù)有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請關(guān)注丸趣 TV 行業(yè)資訊頻道,感謝大家的支持。