Java面試題之Oracle

? ? 1.什么事存儲過程,使用存儲過程的好處

? ? ? ? ? ? 存儲過程(Stored Procedure) 是一種為了完成特定功能的SQL語句集,經(jīng)編譯后存儲在數(shù)據(jù)庫中,用戶通過指定的存儲過程的名字并給參數(shù)(如果存儲過程中帶有參數(shù))來執(zhí)行它,存儲過程是數(shù)據(jù)庫中的一個(gè)重要對象,任何一個(gè)設(shè)計(jì)良好的數(shù)據(jù)庫應(yīng)用程序,都因該寫到存儲過程

? ? ? ? 優(yōu)點(diǎn):

? ? ? ? 1.允許模塊化程序設(shè)計(jì),就是說只需要創(chuàng)建一次過程,以后程序中就可以調(diào)用該過程任意此

? ? ? ? 2.允許更快執(zhí)行,如果某操作需要執(zhí)行大量的SQL語句或重復(fù)執(zhí)行,存儲過程比SQL語句執(zhí)行的要快。

????????3.減少網(wǎng)絡(luò)流量,例如一個(gè)需要數(shù)百行的SQL代碼的操作有一條執(zhí)行語句完成,不需要在網(wǎng)絡(luò)中發(fā)送數(shù)百行代碼

????????4.更好的安全機(jī)制,對于沒有權(quán)限執(zhí)行存儲過程的用戶,也可授權(quán)他們執(zhí)行存儲過程 ? ?

? ? 2.如何使用Oracle 游標(biāo)

? ? ? ? 1.Oracle中游標(biāo)分為顯示游標(biāo)和隱式游標(biāo)

????????2.顯示游標(biāo)是用cursor 。。。is 命令定義的游標(biāo),它可以對查詢語句(Select) 返回的多條記錄進(jìn)行處理

????????3.隱式游標(biāo)是在執(zhí)行插入(insert)刪除,修改,和返回單條記錄的查詢語句時(shí)由PL/SQL自動定義

? ? ? ? 4.顯示有標(biāo)的操作:打開游標(biāo),操作游標(biāo),關(guān)閉游標(biāo),PL/SQL 隱式的地打開SQL游標(biāo),并在它內(nèi)部處理SQL語句,然后關(guān)閉

?? 3.Orale中字符串用什么連接

? ? ? ?? Oracle 中使用||這個(gè)符號連接字符串,

4.Oracle如何進(jìn)行分頁查詢

? ? ? ? Oracle中使用rownum來進(jìn)行分頁,這個(gè)效率最好的分頁方法,Hibernate也是使用rownum來進(jìn)行Oracle分頁

5.存儲過程和存儲函數(shù)的特點(diǎn)和區(qū)別

? ? 特點(diǎn):

? ? ? ? 一般來說。存儲過程實(shí)現(xiàn)的功能要復(fù)雜,而函數(shù)的實(shí)現(xiàn)的功能針對性比較強(qiáng)

? ? ? ? ? ? 對于存儲過程來說可以返回參數(shù),而函數(shù)只能返回值或者表的對象

? ? ? ? ? ? 存儲過程一般是作為一個(gè)獨(dú)立的部分來執(zhí)行,而函數(shù)可以作為查詢語句的一個(gè)部分來調(diào)用,由于函數(shù)可以返回一個(gè)表對象

? ? ? ? ? ? 因此它可以查詢語句中位于From關(guān)鍵字的后面

? ? ? ? 函數(shù)必須有返回值,而過程沒有

? ? ? ? 函數(shù)可以單獨(dú)執(zhí)行,而過程必須通過execute執(zhí)行

? ? ? ? 函數(shù)可以嵌入到SQL語句中執(zhí)行,而過程不行

6.你覺得存儲過程和SQL語句使用該使用那個(gè)

? ? ? ? 1.在一些高效率或者規(guī)范性要求高的項(xiàng)目,建議采用存儲過程

? ? ? ? 2.對于一般項(xiàng)目建議采用參數(shù)化命令方式,是存儲過程SQL語句一種折中的方式

? ? ? ? 3.對于一些算法要求較高,涉及多條數(shù)據(jù)邏輯,建議采用存儲過程

7.觸發(fā)器的作用有哪些

? ? ? 1. 觸發(fā)器通過數(shù)據(jù)庫中的相關(guān)表實(shí)現(xiàn)級聯(lián)關(guān)系,通過級聯(lián)引用完整性約束,可以更有效的執(zhí)行這些更改,

? ? 2.觸發(fā)器可以強(qiáng)制比用CHECK約束更為復(fù)雜,與CHECK約束不同,觸發(fā)器可以引用其它表中的列。

? ? 3.觸發(fā)器還可以強(qiáng)制執(zhí)行業(yè)務(wù)邏輯

? ? 4.觸發(fā)器也可以評估數(shù)據(jù)修改前后的表狀態(tài),并根據(jù)其差異采取對策

????

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,894評論 18 399
  • 轉(zhuǎn) # https://www.cnblogs.com/easypass/archive/2010/12/ 08/...
    呂品?閱讀 10,169評論 0 44
  • 不知道會寫到什么時(shí)候。 不知道什么時(shí)候才可以寫命題作文。 不知道什么時(shí)候會收到回應(yīng)。 不知道的事情多了去了。 知道...
    by_10閱讀 140評論 0 0
  • 時(shí)光荏苒,我用記憶來祭奠十六年的光陰,這些年我吹過急促與柔和的風(fēng),看過今朝日起、明朝花落,在流星劃過天際的...
    何處有笙簫閱讀 608評論 0 2
  • 【連載】燕尾帽(十八)
    曉蘭sally閱讀 109評論 0 0

友情鏈接更多精彩內(nèi)容