PLSQL綁定變量用法小結(jié).doc

PLSQL綁定變量用法小結(jié).doc

ID:51301251

大小:274.00 KB

頁數(shù):19頁

時(shí)間:2020-03-10

PLSQL綁定變量用法小結(jié).doc_第1頁
PLSQL綁定變量用法小結(jié).doc_第2頁
PLSQL綁定變量用法小結(jié).doc_第3頁
PLSQL綁定變量用法小結(jié).doc_第4頁
PLSQL綁定變量用法小結(jié).doc_第5頁
資源描述:

《PLSQL綁定變量用法小結(jié).doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)

1、之前對(duì)ORACLE中的變量一直沒個(gè)太清楚的認(rèn)識(shí),比如說使用:、&、&&、DEIFINE、VARIABLE……等等。今天正好閑下來,上網(wǎng)搜了搜相關(guān)的文章,匯總了一下,貼在這里,方便學(xué)習(xí)。?==================================================================================??在oracle中,對(duì)于一個(gè)提交的sql語句,存在兩種可選的解析過程,一種叫做硬解析,一種叫做軟解析.一個(gè)硬解析需要經(jīng)解析,制定執(zhí)行路徑,優(yōu)化訪問計(jì)劃等許多的步

2、驟.硬解釋不僅僅耗費(fèi)大量的cpu,更重要的是會(huì)占據(jù)重要的們閂(latch)資源,嚴(yán)重的影響系統(tǒng)的規(guī)模的擴(kuò)大(即限制了系統(tǒng)的并發(fā)行),而且引起的問題不能通過增加內(nèi)存條和cpu的數(shù)量來解決。之所以這樣是因?yàn)殚T閂是為了順序訪問以及修改一些內(nèi)存區(qū)域而設(shè)置的,這些內(nèi)存區(qū)域是不能被同時(shí)修改。當(dāng)一個(gè)sql語句提交后,oracle會(huì)首先檢查一下共享緩沖池(sharedpool)里有沒有與之完全相同的語句,如果有的話只須執(zhí)行軟分析即可,否則就得進(jìn)行硬分析。?而唯一使得oracle能夠重復(fù)利用執(zhí)行計(jì)劃的方法就是采用綁定變量。綁

3、定變量的實(shí)質(zhì)就是用于替代sql語句中的常量的替代變量。綁定變量能夠使得每次提交的sql語句都完全一樣。?1.sqlplus中如何使用綁定變量,可以通過variable來定義[c-sharp]viewplaincopyprint?1.SQL>?select?*?from?tt?where?id=1;??2.??3.ID?NAME??4.----------?----------------------------------------??5.1?test??6.??7.SQL>?select?*?from?

4、tt?where?id=2;??8.??9.ID?NAME??10.----------?----------------------------------------??11.2?test??12.??13.SQL>?variable?i?number;??14.SQL>?exec?:i?:=1;??15.??16.PL/SQL?過程已成功完成。??17.??18.SQL>?select?*from?tt?where?id=:i;??19.??20.ID?NAME??21.----------?----

5、------------------------------------??22.1?test??1.??2.SQL>?exec?:i?:=2;??3.??4.PL/SQL?過程已成功完成。??5.??6.SQL>?select?*from?tt?where?id=:i;??7.??8.ID?NAME??9.----------?----------------------------------------??10.2?test??11.??12.SQL>?print?i;??13.??14.I??15.

6、----------??16.2??17.??18.SQL>?select?sql_text,parse_calls?from?v$sql?where?sql_text?like?'select?*?from?t??19.t?where?id=%';??20.??21.SQL_TEXT?PARSE_CALLS??22.------------------------------------------------------------?-----------??23.select?*?from?tt?wh

7、ere?id=2?1??24.select?*?from?tt?where?id=1?1??25.select?*?from?tt?where?id=:i?2??26.SQL>??從上面試驗(yàn)發(fā)現(xiàn)綁定變量i的使用使查詢id=1和id=2的sqlselect*fromttwhereid=:i得以重復(fù)使用,從而避免了hardparse,這里的PARSE_CALLS=2包括了一次softparse2.前兩天看到有人在pub上問在sqlplus中通過define和variable定義的變量的區(qū)別。其實(shí)define定義

8、的我理解不是變量而是字符常量,通過define定義之后,在通過&或者&&引用的時(shí)候不需要輸入了,僅此而已。oracle在執(zhí)行的時(shí)候自動(dòng)用值進(jìn)行了替換;而variable定義的是綁定變量,上面已經(jīng)提到。[c-sharp]viewplaincopyprint?1.C:>sqlplus?xys/manager??2.SQL*Plus:?Release?11.1.0.6.0?-?Production?on?星期二?4月?

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。