- Oracle 11g從入門到精通(第2版) (軟件開發(fā)視頻大講堂)
- 明日科技
- 2235字
- 2020-11-28 15:54:51
3.2 設(shè)置SQL*Plus的運(yùn)行環(huán)境
視頻講解:光盤\TM\lx\3\運(yùn)行環(huán)境.mp4
SQL*Plus的運(yùn)行環(huán)境是用來輸入、執(zhí)行SQL*Plus命令和顯示返回結(jié)果的場所,設(shè)置合適的SQL*Plus運(yùn)行環(huán)境,可以使SQL*Plus能夠按照用戶的要求運(yùn)行和執(zhí)行各種操作。SET命令也稱SET變量或維護(hù)系統(tǒng)變量,利用它可為SQL*Plus交互建立一個特殊的環(huán)境。例如,設(shè)置屏幕上每一行能夠最多顯示字符數(shù)、設(shè)置每頁打印的行數(shù)、設(shè)置某個列的寬度等。下面將對SET命令進(jìn)行詳細(xì)講解。
3.2.1 簡介SET命令
在Oracle 11g數(shù)據(jù)庫中,用戶可以使用SET命令來設(shè)置SQL*Plus的運(yùn)行環(huán)境,SET命令的語法格式為:
SET system_variable value
system_variable:變量名。
value:變量值。
SET命令的常用變量名、可選值及其說明如表3.1所示。
表3.1 SET命令的常用變量名、可選值及其說明

續(xù)表

比如,用戶可以設(shè)置在SQL*Plus命令提示符“SQL>”前面顯示當(dāng)前的系統(tǒng)時間。但需要注意的是,通過SET命令設(shè)置的環(huán)境變量是臨時的,不是永久的。當(dāng)用戶退出SQL*Plus環(huán)境后,用戶設(shè)置的環(huán)境參數(shù)會全部丟失。
【例3.1】 使用set time on命令設(shè)置在SQL*Plus命令提示符“SQL>”前面顯示當(dāng)前的系統(tǒng)時間,具體代碼如下。
SQL> set time on 10:27:06 SQL>
3.2.2 使用SET命令設(shè)置運(yùn)行環(huán)境
在對SET命令的功能及其若干常用變量選項了解之后,本節(jié)針對在Oracle操作過程中經(jīng)常用到的幾個變量選項及其實例應(yīng)用進(jìn)行詳細(xì)講解。
1.PAGESIZE變量
該變量用來設(shè)置從頂部標(biāo)題至頁結(jié)束之間的行數(shù),其語法格式如下:
SET PAGESIZE value
value變量的默認(rèn)值為14,根據(jù)實際情況的需要,用戶可以修改value的值,該值是一個整數(shù)。
當(dāng)SQL*Plus返回查詢結(jié)果時,它首先會顯示用戶所選擇數(shù)據(jù)的列標(biāo)題,然后在相應(yīng)列標(biāo)題下顯示數(shù)據(jù)行,上下兩個列標(biāo)題所在行之間的空間就是SQL*Plus的一頁。一頁中所顯示的數(shù)據(jù)行的數(shù)量就是PAGESIZE變量的值。若要查看當(dāng)前SQL*Plus環(huán)境中的一頁有多少行,可以使用show pagesize命令。
【例3.2】 使用show pagesize命令顯示當(dāng)前SQL*Plus環(huán)境中的一頁有多少行,具體代碼如下。
SQL> show pagesize pagesize 14
注意
不要把當(dāng)前窗口區(qū)域內(nèi)能夠顯示的行數(shù)看作SQL*Plus環(huán)境中一頁的行數(shù),一頁的行數(shù)由PAGESIZE變量值來決定。
如果默認(rèn)的14行不符合實際情況的需要,可以修改PAGESIZE變量的值。
【例3.3】 使用set pagesize命令修改一頁的行數(shù)為18,然后再使用新的pagesize值顯示數(shù)據(jù)行,具體代碼如下。(實例位置:光盤\TM\sl\3\1)
SQL> set pagesize 18 SQL> select user_id, username, account_status from dba_users;
本例運(yùn)行結(jié)果如圖3.1所示。

圖3.1 使用set pagesize命令修改行數(shù)
說明
一頁內(nèi)的數(shù)據(jù)行包括兩個列標(biāo)題之間的數(shù)據(jù)行、上面的一個列標(biāo)題、分隔線和空行。
2.NEWPAGE變量
該變量用來設(shè)置一頁中空行的數(shù)量,其語法格式如下:
SET NEWPAGE value
value的默認(rèn)值為1,根據(jù)實際情況的需要,用戶可以修改value的值,該值是一個整數(shù)。
【例3.4】 首先顯示當(dāng)前SQL*Plus環(huán)境中的一頁有多少空行,然后使用set newpage命令修改空行的數(shù)量,并通過檢索數(shù)據(jù)記錄來觀察空行的改變,具體代碼如下(實例位置:光盤\TM\sl\3\2)。
SQL> show newpage newpage 5 SQL> set newpage 1 SQL> select user_id, username, account_status from dba_users;
本例運(yùn)行結(jié)果如圖3.2所示。

圖3.2 使用set newpage命令修改空行
3.LINESIZE變量
該變量用來設(shè)置在SQL*Plus環(huán)境中一行所顯示的最多字符總數(shù),其語法格式如下:
SET LINESIZE value
value的默認(rèn)值為80,根據(jù)實際情況的需要,用戶可以修改value的值,該值是一個整數(shù)。
如果數(shù)據(jù)行的寬度大于LINESIZE變量的值,當(dāng)在SQL*Plus環(huán)境中按照LINESIZE指定的數(shù)量輸出字符時,數(shù)據(jù)就會發(fā)生折行顯示的情況。如果適當(dāng)調(diào)整LINESIZE的值,使其值等于或稍大于數(shù)據(jù)行的寬度,則輸出的數(shù)據(jù)就不會折行。所以在實際操作Oracle數(shù)據(jù)庫的過程中,要根據(jù)具體情況來適當(dāng)調(diào)整LINESIZE的值。
【例3.5】 首先使用show line命令顯示當(dāng)前SQL*Plus環(huán)境中一行可以顯示的最多字符數(shù)量,然后使用set linesize命令修改一行中可以顯示的最多字符數(shù)量為100,具體代碼如下。
SQL> show line linesize 40 SQL> set linesize 100
4.PAUSE變量
該變量用來設(shè)置SQL*Plus輸出結(jié)果是否滾動顯示,其語法格式如下:
SET PAUSE value
value變量值有以下3種情況。
OFF:這是默認(rèn)值,返回結(jié)果一次性輸出完畢,中間的每一頁不會暫停。
ON:表示輸出結(jié)果的每一頁都暫停,用戶按Enter鍵后繼續(xù)顯示。
TEXT:在設(shè)置PAUSE的值為ON之后,若再設(shè)置TEXT的值,則每次暫停都將顯示該字符串。當(dāng)PAUSE的值為OFF時,設(shè)置TEXT值沒有任何意義。
當(dāng)在SQL*Plus環(huán)境中顯示多行數(shù)據(jù),并且一頁無法容納下這么多數(shù)據(jù)行時。如果PAUSE變量值為OFF,則SQL*Plus窗口輸出的數(shù)據(jù)行會快速滾動,非常不利于用戶查看。這就需要數(shù)據(jù)行在滾動時最好能夠按頁暫停,以便于用戶逐頁地查看輸出結(jié)果。當(dāng)把PAUSE變量的值設(shè)置為ON時,就可以實現(xiàn)控制SQL*Plus在顯示完一頁后暫停滾動,直到按Enter鍵后才繼續(xù)顯示下一頁。另外,在設(shè)置PAUSE變量值為ON之后,還可以通過PAUSE變量設(shè)置暫停后顯示的字符串,以便于提示用戶操作。
【例3.6】 使用set pause命令設(shè)置顯示結(jié)果按頁暫停,并在暫停后顯示“按<enter>鍵繼續(xù)”字符串,具體代碼如下(實例位置:光盤\TM\sl\3\3)。
SQL> set pause on SQL> set pause ’按<enter>鍵繼續(xù)’ SQL> select user_id, username, account_status from dba_users;
本例運(yùn)行結(jié)果如圖3.3所示。

圖3.3 使用set pause命令設(shè)置顯示結(jié)果按頁暫停
說明
當(dāng)不再需要按頁暫停時,可以使用SET PAUSE OFF命令取消顯示結(jié)果的暫停功能,同時屏幕上不再有“提示字符串”輸出。
5.NUMFORMAT變量
該變量用來設(shè)置顯示數(shù)值的默認(rèn)格式,該格式是數(shù)值格式,其語法格式如下:
SET NUMFORMAT format
format為數(shù)值的掩碼,數(shù)值的常用掩碼及其說明如表3.2所示。
表3.2 數(shù)值的常用掩碼及其說明

當(dāng)用戶查詢數(shù)據(jù)庫中的數(shù)值時,SQL*Plus環(huán)境將使用默認(rèn)的格式顯示數(shù)值,即以10個字符的寬度和常規(guī)格式來顯示數(shù)字。
【例3.7】 在SQL*Plus環(huán)境中,使用默認(rèn)的格式顯示scott.emp表中的雇員工資(即SAL字段的值),具體代碼如下。
SQL> select ename, job, sal from scott.emp;
本例運(yùn)行結(jié)果如圖3.4所示。

圖3.4 顯示scott.emp表中的雇員工資
在上面的代碼中,SAL字段列出了雇員的工資,工資的格式為默認(rèn)格式。但在顯示和打印工資時,通常習(xí)慣性把金額顯示成帶有兩位小數(shù)的數(shù)值,并且為了便于閱讀大金額,還需要給金額加上逗號分隔符和貨幣種類符號。
【例3.8】 在SQL*Plus環(huán)境中,使用$999,999,999.00格式顯示scott.emp表中的雇員工資,具體代碼如下(實例位置:光盤\TM\sl\3\4)。
SQL> set numformat $999,999,999.00 SQL> select ename, job, sal from scott.emp;
本例運(yùn)行結(jié)果如圖3.5所示。

圖3.5 格式化工資
- FuelPHP Application Development Blueprints
- Java范例大全
- C語言程序設(shè)計教程(第2版)
- Learning Neo4j 3.x(Second Edition)
- Java Web程序設(shè)計任務(wù)教程
- RabbitMQ Cookbook
- Visualforce Developer’s guide
- 代碼閱讀
- AV1視頻編解碼標(biāo)準(zhǔn):原理與算法實現(xiàn)
- Python硬件編程實戰(zhàn)
- Scrapy網(wǎng)絡(luò)爬蟲實戰(zhàn)
- 3ds Max 2018從入門到精通
- 實戰(zhàn)圖解MACD波段交易技術(shù)
- Python Machine Learning
- The Ruby Workshop