初識(shí)PostgreSQL存儲(chǔ)過程
什么是存儲(chǔ)過程, 百度百科是這么定義的:存儲(chǔ)過程(Stored Procedure)是在大型數(shù)據(jù)庫(kù)系統(tǒng)中,一組為了完成特定功能的SQL 語(yǔ)句集,存儲(chǔ)在數(shù)據(jù)庫(kù)中經(jīng)過第一次編譯后再次調(diào)用不需要再次編譯,用戶通過指定存儲(chǔ)過程的名字并給出參數(shù)(如果該存儲(chǔ)過程帶有參數(shù))來執(zhí)行它。存儲(chǔ)過程是數(shù)據(jù)庫(kù)中的一個(gè)重要對(duì)象,任何一個(gè)設(shè)計(jì)良好的數(shù)據(jù)庫(kù)應(yīng)用程序都應(yīng)該用到存儲(chǔ)過程。
Postgresql的存儲(chǔ)過程語(yǔ)法結(jié)構(gòu)如下:
CREATE OR REPLACE FUNCTION 函數(shù)名(參數(shù)1,[整型 int4, 整型數(shù)組 _int4, …])
RETURNS 返回值類型 AS
$BODY$
DECLARE
變量聲明
BEGIN
函數(shù)體
END;
$BODY$
LANGUAGE ‘plpgsql' VOLATILE;
下面的例子是要調(diào)用一個(gè)存儲(chǔ)過程自動(dòng)創(chuàng)建對(duì)應(yīng)的一系列表:
CREATE OR REPLACE FUNCTION create_table_for_client(id int)
RETURNS integer AS
$BODY$
DECLARE
num int4 := 0;
sql "varchar";
BEGIN
sql := 'create table _' || id || '_company(id int, name text)';
EXECUTE sql;
sql := 'create table _' || id || '_employee(id int, name text)';EXECUTE sql;
sql := 'create table _' || id || '_sale_bill(id int, name text)';EXECUTE sql;
.......
return num;
END;
$BODY$ LANGUAGE plpgsql VOLATILE
- PostgreSQL存儲(chǔ)過程循環(huán)調(diào)用方式
- Postgresql 存儲(chǔ)過程(plpgsql)兩層for循環(huán)的操作
- PostgreSQL存儲(chǔ)過程用法實(shí)戰(zhàn)詳解
- Mybatis調(diào)用PostgreSQL存儲(chǔ)過程實(shí)現(xiàn)數(shù)組入?yún)鬟f
- PostgreSQL中調(diào)用存儲(chǔ)過程并返回?cái)?shù)據(jù)集實(shí)例
- PostgreSQL 存儲(chǔ)過程的進(jìn)階講解(含游標(biāo)、錯(cuò)誤處理、自定義函數(shù)、事務(wù))
相關(guān)文章
PostgreSQL數(shù)據(jù)庫(kù)事務(wù)插入刪除及更新操作示例
這篇文章主要為大家介紹了PostgreSQL事務(wù)的插入刪除及更新操作示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04
詳解如何在Ubuntu?18.04上安裝和使用PostgreSQL
關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)是許多網(wǎng)站和應(yīng)用程序的關(guān)鍵組件,它們提供了一種結(jié)構(gòu)化的方式來存儲(chǔ)、組織和訪問信息,本文演示了如何在?Ubuntu?18.04?VPS?實(shí)例上安裝?Postgres,并提供了基本數(shù)據(jù)庫(kù)管理的說明,需要的朋友可以參考下2024-07-07
postgresql 實(shí)現(xiàn)多表關(guān)聯(lián)刪除
這篇文章主要介紹了postgresql 實(shí)現(xiàn)多表關(guān)聯(lián)刪除操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01
PostgreSQL數(shù)據(jù)DML誤操作恢復(fù)方法
PostgreSQL是一種開源的對(duì)象關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),其DML(Data Manipulation Language)負(fù)責(zé)數(shù)據(jù)的操作和管理,那么如何DML誤操作了如何恢復(fù),所以本文介紹了PostgreSQL數(shù)據(jù)DML誤操作恢復(fù)方法,需要的朋友可以參考下2024-12-12
postgresql數(shù)據(jù)庫(kù)表ID自增的實(shí)現(xiàn)代碼
postgresql數(shù)據(jù)庫(kù)可以創(chuàng)建主鍵,但是沒有像mysql那樣直接指定主鍵自增的auto_increment關(guān)鍵字,因此如果在postgresql中創(chuàng)建表指定主鍵自增使用auto_increment會(huì)報(bào)錯(cuò),本文通過一個(gè)實(shí)例給大家演示自增ID的實(shí)現(xiàn),需要的朋友可以參考下2023-12-12
使用PostGIS完成兩點(diǎn)間的河流軌跡及流經(jīng)長(zhǎng)度的計(jì)算(推薦)
這篇文章主要介紹了使用PostGIS完成兩點(diǎn)間的河流軌跡及流經(jīng)長(zhǎng)度的計(jì)算,使用POSTGIS及其擴(kuò)展pgrouting計(jì)算給定兩點(diǎn)間的河流流經(jīng)區(qū)域和河流長(zhǎng)度,需要的朋友可以參考下2022-01-01
PostgreSQL?pg_filenode.map文件介紹
這篇文章主要介紹了PostgreSQL誤刪pg_filenode.map怎么辦,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-09-09

