成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

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

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

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

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

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

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

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

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

二、定義默認值。

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

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

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

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

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

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

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

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

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

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

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

四、其他解決方案。

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

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

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

 

 

 

【編輯推薦】

ORACLE系統表和數據字典視圖

深度解析Oracle ERP系統模塊

詳解四大類Oracle索引掃描

Oracle查詢重復記錄的三種方法

Oracle取固定記錄數的實現方法

責任編輯:段燃 來源: 互聯網
相關推薦

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-07-18 14:06:54

Oracle陽光100成功案例

2011-12-07 09:29:56

移動終端網宿科技

2023-07-13 15:22:45

2024-12-09 13:20:50

2010-10-27 15:26:42

Oracle執行計劃

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

2009-11-19 11:28:50

Oracle利用Log

2016-03-23 10:35:31

交互可控干貨

2022-11-02 11:34:45

2010-03-01 10:24:20

Oracle RAC
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国内自拍偷拍一区 | 日韩在线视频免费观看 | 成人黄色电影免费 | 男女免费视频网站 | 亚洲精品久久久久久国产精华液 | 国产精品jizz在线观看老狼 | 日韩视频区 | 日韩av视屏| 国产一区欧美一区 | 久久精品国产99国产精品 | 午夜免费福利电影 | 久久人| 久久亚洲精品国产精品紫薇 | 亚洲一区在线免费观看 | 一级片免费视频 | 欧美精品91爱爱 | 国产精品毛片 | 亚洲精品一 | 自拍偷拍第一页 | 亚洲成人精品久久久 | 一区二区三区四区av | 亚洲成人av在线播放 | 精品不卡| 亚洲精品一区中文字幕乱码 | 久久逼逼 | 亚洲成人毛片 | 一二三四在线视频观看社区 | 欧美美女二区 | 欧洲精品码一区二区三区免费看 | 国产免费一区二区三区 | 成人免费一区二区三区牛牛 | 视频精品一区二区三区 | 精品久久久久久久久久久久 | 欧美国产激情二区三区 | 久久精品一级 | 国产精品免费福利 | 午夜视频在线观看网址 | www亚洲一区 | 国产精品久久毛片av大全日韩 | 亚洲在线一区 | 国产精品国产三级国产aⅴ浪潮 |