溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么理解SQL*Plus Set參數(shù)

發(fā)布時(shí)間:2021-11-29 15:51:37 來(lái)源:億速云 閱讀:169 作者:柒染 欄目:關(guān)系型數(shù)據(jù)庫(kù)

今天就跟大家聊聊有關(guān)怎么理解SQL*Plus Set參數(shù),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

利用SQL*Plus維護(hù)系統(tǒng)變量(也稱set變量)可為SQL*Plus交互建立一個(gè)特殊的環(huán)境,如:設(shè)置number數(shù)據(jù)的顯示寬度,設(shè)置每頁(yè)的行數(shù),設(shè)置列的寬度等??捎胹et命令改變這些系統(tǒng)變量,也可用show命令列出它們。以下是全部的用法,使用set命令的語(yǔ)法如下:

  set 系統(tǒng)變量值

  其中系統(tǒng)變量及其可選值如下:

arraysize

{20(默認(rèn)值)|n}

設(shè)置一批的行數(shù),是sqlplus一次從數(shù)據(jù)庫(kù)獲取的行數(shù),有效值為1至5000。大的值可提高查詢和子查詢的有效性,可獲取許多行,但也需要更多的內(nèi)存。當(dāng)超過1000時(shí),其效果不大。

autocommit

{off(默認(rèn)值)|on|immediate}

控制oracle對(duì)數(shù)據(jù)庫(kù)的修改的提交。設(shè)置on時(shí),在oracle執(zhí)行每個(gè)sql命令或pl/sql塊后對(duì)數(shù)據(jù)庫(kù)提交修改;設(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ù)庫(kù)決定該設(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命令提交對(duì)數(shù)據(jù)庫(kù)修改的批數(shù)。每次拷貝n批后將提交到目標(biāo)數(shù)據(jù)庫(kù)。有效值為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)表在一頁(yè)中開始的地方。為off時(shí),迫使每一報(bào)表是在新頁(yè)的頂部開始;為on時(shí),運(yùn)行一報(bào)表在一頁(yè)的任何位置開始。

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中對(duì)準(zhǔn)中心的文本和右對(duì)齊文本??啥xlinesize為1至最大值,其最大值依賴于操作系統(tǒng)。

long

{80(默認(rèn)值)|n}

為顯示和拷貝long類型值的最大寬度的設(shè)置。對(duì)于oracle7,n的最大值為2g字節(jié);對(duì)于版本6,最大值為32767。

longchunksize

{80(默認(rèn)值)|n}

為sqlplus檢索long類型值的增量大小。由于內(nèi)存的限制,可按增量檢索,該變量?jī)H應(yīng)用于oracle7。

maxdata

n

設(shè)置sqlplus可處理的最大行寬字符數(shù),其缺省值和最大值在不同操作系統(tǒng)中是可變的。

newpage

{1(默認(rèn)值)|n}

設(shè)置每一頁(yè)的頭和頂部標(biāo)題之間要打印的空行數(shù)。如果為0,在頁(yè)之間送一換號(hào)符,并在許多終端上清屏。

null

text

設(shè)置表示空值(null)的文本。如果null沒有文本,則顯示空格(缺省時(shí))。使用column命令中的null子句可控制null變量對(duì)該列的設(shè)置。

numformat

格式

設(shè)置顯示數(shù)值的缺省格式,該格式是數(shù)值格式。

numwidth

{10(默認(rèn)值)|n}

對(duì)顯示數(shù)值設(shè)置缺省寬度。

pagesize

{14(默認(rèn)值)|n}

設(shè)置從頂部標(biāo)題至頁(yè)結(jié)束之間的行數(shù)。在11英寸長(zhǎng)的紙上打印報(bào)表,其值為54,上下各留一英寸(newpage值為6)。

pause

{off(默認(rèn)值)|on|text}

在顯示報(bào)表時(shí),控制終端滾動(dòng)。在每一暫停時(shí),必須按return鍵。on將引起sqlplus在每一報(bào)表輸出頁(yè)開始時(shí)暫停。所指定的文本是每一次sqlplus暫停時(shí)顯示的文本。如果要鍵入多個(gè)詞,必須用單引號(hào)將文本括起來(lái)。

recsep

{wrapped(默認(rèn)值)|each|off}

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

recsepchar

{|c}

指定顯示或打印記錄分行符的條件。一個(gè)記錄分行符,是由recsepchar指定的字符組成的單行??崭駷閞ecsepchar的默認(rèn)字符。

scan

{off|on(默認(rèn)值)}

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

serveroutput

{off|on}size

控制在sqlplus中的存儲(chǔ)過程是否顯示輸出。off時(shí)為禁止;on時(shí)則顯示輸出。size設(shè)置緩沖輸出的字節(jié)數(shù),缺省值為2000。n不能小于2000或大于一百萬(wàn)。

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í)別命令終止符,用鍵入空行來(lái)結(jié)束sql命令;on重設(shè)置終止符為默認(rèn)的分號(hào)。

suffix

{sql(默認(rèn)值)|文本}

設(shè)置缺省文件的后綴。sqlplus在命令中使用,來(lái)引用命令文件。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子句可控制對(duì)指定列的wrap的設(shè)置。

看完上述內(nèi)容,你們對(duì)怎么理解SQL*Plus Set參數(shù)有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

sql
AI