自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

利用替換變量提高Oracle交互性

數(shù)據(jù)庫 Oracle
通過使用替換變量,我們可以提高Oracle數(shù)據(jù)庫系統(tǒng)的交互性,下文對該方法作了詳盡的闡述,如果那您感興趣的話,不妨一看。

想要提高Oracle交互性,通過定義與使用替換變量就可以實現(xiàn)了,下面就為您詳細介紹利用替換變量提高Oracle交互性的方法,供您參考。

一、定義與使用替換變量。

在Oracle提供的相關(guān)工具中,如SQL PLUS管理平臺中,允許數(shù)據(jù)庫管理員采用替換變量來提高SQL語句的靈活性。替換變量的定義跟普通變量的定義類似,只需要在變量名前面加入&符號即可。如上面例子中的“&name_filed”就表示一個替換變量。當運行一段有替換變量的SQL語句時,數(shù)據(jù)庫系統(tǒng)會自動提醒用戶要輸入哪些變量值。

如在如下這條語句中,&name_filed表示用戶想要顯示的字段值。若用戶想要顯示某個表中的多個字段的話,則可以在這里定義多個替換變量。而條件語句中的'&NAME'則表示一個限制條件,或者說一個查詢參數(shù)。這條語句的大意就是用戶輸入員工的名字,然后讓系統(tǒng)查詢出用戶想了解的信息,如用戶的身份證號碼等等。

SQL> select &name_filed from dtmfg.ad_user t where t.name like '&NAME';

細心的讀者或許會發(fā)現(xiàn),在查詢條件中的替換變量,為什么要用單引號括起來呢?這是因為,我們在寫SQL語句的時候,若字段時字符型的話,就需要用單引號括起來。所以,在定義替換變量的時候,跟平時寫SQL語句類型。若數(shù)據(jù)類型是字符或者日期型的,則需要在定義替換變量的時候,用單引行括起來。否則的話,在用戶執(zhí)行這條語句、輸入變量的時候,每次都需要把括號添加進去。那就非常的麻煩。相比起來,還不如在定義這條SQL語句的時候,就加入單引號。如此,在輸入對應(yīng)值的時候,就不用用單引號括起來了,可以直接輸入。

另外,替換變量不但在Select語句中可以使用,在Update等語句中也可以普遍應(yīng)用。

二、定義默認值。

有時候,對于替換變量我們可能會有默認值。如果數(shù)據(jù)庫管理員已經(jīng)知道替換變量的具體值,又想避免運行腳本文件時反復(fù)出現(xiàn),則可以給替換變量定義一個默認值。在SQL Plus平臺中,數(shù)據(jù)庫管理員可以利用Define命令來定義替換變量的默認值。

在定義替換變量默認值的時候,需要注意幾個問題。

一是要合理使用單引號。該用單引號括起來的,就要使用單引號;不需要用的時候,堅決不用。否則的話,會造成SQL語句的運行錯誤。那么什么時候該用單引號呢?這主要是根據(jù)SQL語句來的。平時在寫SQL語句的過程中要用到單引號的,則在定義默認值的時候,也要用單引號括起來。如果平時不用的話,則就可以不用。如在定義字段名稱的默認值時,就不需要用單引號括起來。畫蛇添足,反而會導(dǎo)致SQL語句的執(zhí)行錯誤二是這只是定義了一個默認值。當定義來一個默認值之后,系統(tǒng)就不會提示用戶輸入相關(guān)的參數(shù),而直接采用默認值。如在上面這個例子中,若利用define NAME='SuperUser'這條語句定義了NAME的默認值之后,在執(zhí)行這條Select語句的時候,就不會再提示用戶輸入NAME值。我們可以利用Define命令來查看當前環(huán)境中所有的可替換變量的值。也可以利用Define NAME來查看可替換變量NAME的默認值。

三是若用戶采用的是腳本文件的話,則可以直接把這個定義默認值的語句放在腳本文件的一開始。如此的話,這個默認值的定義就會隨著腳本文件而走。用戶不用每次使用腳本文件的時候,都先去定義默認值。這個這個默認值的作用域只是適用于當前的會話。當數(shù)據(jù)庫管理員結(jié)束當前的會話后,這個變量的默認值也就失效了。為了在下次重新會話的時候,仍然可以利用這個默認值,故在腳本文件一開始定義可替換變量的默認值,也是非常有必要的。

四是利用Define命令來定義可替換變量的時候,有一個限制條件。即可替換變量必須是字符型的數(shù)據(jù)。若用戶想定義的可替換變量是數(shù)字型的,如員工的薪水,此時,就需要采用ACCEPT命令。否則的話,就是一個無效的默認值。

若我們有時候不需要這個默認值,需要取消他,改如何處理呢?此時,我們就可以利用undefine命令,來取消某個替換變量的默認值。當然,我們也可以利用Define命令來給某個替換變量設(shè)置一個新的值。在實際工作中,可能還是直接采用Define命令來為其設(shè)置一個默認值來的方便。

三、測試完畢后,保存為腳本文件。

為了增強這個SQL語句的可重用性,我們往往會把寫好的SQL語句保存為腳本文件。如此的話,下次需要用到的時候,直接執(zhí)行這個腳本語句即可。在保存的時候,為了有更好的可讀性,筆者有一些小小的建議。

一是最好在腳本文件的開頭,注釋一些這條語句的具體用途。俗話說,好記性不如爛筆頭。在幾個月后,很難確保你還記得這條語句的用途。

二是給可替換變量取一些比較直觀的名字。否則的話,當使用數(shù)據(jù)庫管理員可能直接都不知道某個替換變量所代表的含義。另外,列的替換變量跟查詢語句中的替換變量最好進行區(qū)分,如可以利用前綴進行區(qū)別。如此做的話,這個語句的可閱讀性就會增強。

三是可利用Prompt命令來輸出一些提示信息。在編寫替換變量的時候,要像編寫其他程序一樣,養(yǎng)成為每個可替換變量做好注釋的習(xí)慣。這時作為數(shù)據(jù)庫管理員一個必備的技能之一。

四、其他解決方案。

針對Oracle數(shù)據(jù)庫交互性而言,它還提供了一些其他的解決方案。

如利用ACCEPT、PAUSE、PROMPT三個命令結(jié)合使用提供一個模擬的用戶輸入界面。ACCEPT命令可以讓數(shù)據(jù)庫管理員指定替換變量的類型。因為Define定義替換變量默認值的時候,只能夠接受字符型數(shù)據(jù)的默認值。若是其他數(shù)據(jù)類型的默認值的話,就要用ACCEPT來定義。而PAUSE顧名思義,可以讓腳本語句暫時運行,以提供一個更加友好的用戶界面。如可以讓用戶通過輸入回車鍵來執(zhí)行剩下的腳本語句等等。如此,就給用戶一個“喘息”核對數(shù)據(jù)的機會。

如可以通過綁定變量的方式,來實現(xiàn)替換變量的功能。綁定變量只在當前會話中存在,同名的綁定變量一最后一個定義為準。綁定變量在賦值的時候,比較麻煩,需要采用Excute命令來給綁定變量進行賦值。所以,在實際應(yīng)用中,不是很廣泛。

 

 

 

【編輯推薦】

ORACLE系統(tǒng)表和數(shù)據(jù)字典視圖

深度解析Oracle ERP系統(tǒng)模塊

詳解四大類Oracle索引掃描

Oracle查詢重復(fù)記錄的三種方法

Oracle取固定記錄數(shù)的實現(xiàn)方法

責(zé)任編輯:段燃 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2018-03-09 15:25:47

IOT語義交叉

2018-02-26 16:41:53

定義IOT語義

2023-09-25 10:26:05

DOMCSS

2020-06-19 13:53:47

BokehPython繪圖

2010-11-15 16:46:49

Oracle查詢效率

2011-12-07 09:29:56

移動終端網(wǎng)宿科技

2011-07-18 14:06:54

Oracle陽光100成功案例

2023-07-13 15:22:45

2024-12-09 13:20:50

2010-10-27 15:26:42

Oracle執(zhí)行計劃

2011-07-20 13:06:49

2011-04-11 14:56:09

Oracle性能

2010-09-14 15:39:31

2009-06-22 10:15:33

PostgreSQLOracle

2013-06-03 10:24:30

2016-03-23 10:35:31

交互可控干貨

2009-11-19 11:28:50

Oracle利用Log

2011-09-05 14:53:57

JavaScript

2022-11-02 11:34:45

點贊
收藏

51CTO技術(shù)棧公眾號