今天就跟大家聊聊有關(guān)怎么理解SQL*Plus Set參數(shù),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
10余年的同仁網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營(yíng)銷(xiāo)推廣的優(yōu)勢(shì)是能夠根據(jù)用戶(hù)設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整同仁建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“同仁網(wǎng)站設(shè)計(jì)”,“同仁網(wǎng)站推廣”以來(lái),每個(gè)客戶(hù)項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
利用SQL*Plus維護(hù)系統(tǒng)變量(也稱(chē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。大的值可提高查詢(xún)和子查詢(xún)的有效性,可獲取許多行,但也需要更多的內(nèi)存。當(dāng)超過(guò)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開(kāi)關(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??捎米兞縜rraysize設(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è)中開(kāi)始的地方。為off時(shí),迫使每一報(bào)表是在新頁(yè)的頂部開(kāi)始;為on時(shí),運(yùn)行一報(bào)表在一頁(yè)的任何位置開(kāi)始。 |
escape | {\(默認(rèn)值)|c|off(默認(rèn)值)|on} | 定義作為escape字符的字符。為off時(shí),使escape字符不起作用;為on時(shí),使escape字符起作用。 |
feedback | {6(默認(rèn)值)|n|off|on} | 顯示由查詢(xún)返回的記錄數(shù)。on和off置顯示為開(kāi)或關(guān)。置feedback為on時(shí),等價(jià)于置n為1;如果置feedback為0 等價(jià)于將它置成off。 |
flush | {off|on(默認(rèn)值)} | 控制輸出送至用戶(hù)的顯示設(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)題分隔字符??稍赾olumn命令中使用標(biāo)題分隔符,將列標(biāo)題分成多行。on和off將標(biāo)題分隔置成開(kāi)或關(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至最大值,其最大值依賴(lài)于操作系統(tǒng)。 |
long | {80(默認(rèn)值)|n} | 為顯示和拷貝long類(lèi)型值的最大寬度的設(shè)置。對(duì)于oracle7,n的最大值為2g字節(jié);對(duì)于版本6,最大值為32767。 |
longchunksize | {80(默認(rèn)值)|n} | 為sqlplus檢索long類(lèi)型值的增量大小。由于內(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沒(méi)有文本,則顯示空格(缺省時(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è)開(kāi)始時(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指定的字符組成的單行。空格為recsepchar的默認(rèn)字符。 |
scan | {off|on(默認(rèn)值)} | 控制對(duì)存在的替換變量和值的掃描。off禁止替換變量和值的處理;on則允許正常處理。 |
serveroutput | {off|on}size | 控制在sqlplus中的存儲(chǔ)過(guò)程是否顯示輸出。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塊的大小寫(xiě)進(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的缺省值依賴(lài)于系統(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)表中下劃線(xiàn)列標(biāo)題的字符。on或off將下劃線(xiàn)置成開(kāi)或關(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)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。