您好,登錄后才能下訂單哦!
不懂postgresql執(zhí)行存儲(chǔ)過程的方法?其實(shí)想解決這個(gè)問題也不難,下面讓小編帶著大家一起學(xué)習(xí)怎么去解決,希望大家閱讀完這篇文章后大所收獲。
PostgreSQL中可以使用多種過程語言實(shí)現(xiàn)用戶定義函數(shù)和存儲(chǔ)過程對數(shù)據(jù)庫功能進(jìn)行擴(kuò)展,這通常稱為存儲(chǔ)過程。
存儲(chǔ)過程一般用于創(chuàng)建觸發(fā)器或自定義聚合函數(shù)。另外存儲(chǔ)過程還有許多過程特性,例如控制結(jié)構(gòu)和復(fù)雜的計(jì)算。方便你更容易、更有效
地開發(fā)自定義函數(shù)。
如果沒有定義函數(shù)或存儲(chǔ)過程,也可以通過DO命令執(zhí)行過程代碼塊。
實(shí)現(xiàn)語言
PostgreSQL 中的過程語言主要分為兩組:
任何用戶可以使用的安全語言。如SQL和PL/pgSQL 是安全語言。
僅超級用戶使用的沙箱環(huán)境語言。因?yàn)樯诚湔Z言提供了繞過安全限制并允許訪問外部資源的能力。C語言是沙箱語言的一個(gè)例子。
PostgreSQL默認(rèn)支持三種過程語言: SQL, PL/pgSQL, C語言。我們也可以加載其他語言擴(kuò)展,如:Perl, Python, TCL等。
存儲(chǔ)過程優(yōu)勢
主要包括下列幾點(diǎn):
減少應(yīng)用和數(shù)據(jù)庫服務(wù)器之間的網(wǎng)絡(luò)傳輸。所有SQL語句被包裝在一個(gè)過程中,應(yīng)用程序緊緊發(fā)送一個(gè)函數(shù)調(diào)用命令即可得到執(zhí)行結(jié)果,
而不需要發(fā)送多次SQL語句,等待每次調(diào)用結(jié)果。
提升應(yīng)用性能。因?yàn)樽远x函數(shù)或過程是在PostgreSQL數(shù)據(jù)庫服務(wù)器中是預(yù)編譯的。
在多個(gè)應(yīng)用中可以重用。一旦開發(fā)了一個(gè)函數(shù),就可以在任何應(yīng)用中重復(fù)使用。
存儲(chǔ)過程劣勢
包括下面三點(diǎn):
開發(fā)效率不高。因?yàn)榇鎯?chǔ)過程編程需要特定技能,很多開發(fā)者沒有掌握。
代碼版本難以管理,其調(diào)試不方便。
對其他數(shù)據(jù)庫系統(tǒng)過程或函數(shù)程序不兼容。如Mysql、Microsoft SQL server等。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享postgresql執(zhí)行存儲(chǔ)過程的方法內(nèi)容對大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細(xì)的解決方法等著你來學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。