初識PostgreSQL存儲過程
什么是存儲過程, 百度百科是這么定義的:存儲過程(Stored Procedure)是在大型數(shù)據(jù)庫系統(tǒng)中,一組為了完成特定功能的SQL 語句集,存儲在數(shù)據(jù)庫中經(jīng)過第一次編譯后再次調(diào)用不需要再次編譯,用戶通過指定存儲過程的名字并給出參數(shù)(如果該存儲過程帶有參數(shù))來執(zhí)行它。存儲過程是數(shù)據(jù)庫中的一個重要對象,任何一個設(shè)計良好的數(shù)據(jù)庫應(yīng)用程序都應(yīng)該用到存儲過程。
Postgresql的存儲過程語法結(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)用一個存儲過程自動創(chuàng)建對應(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
相關(guān)文章
PostgreSQL用戶、數(shù)據(jù)庫及表的管理、操作與授權(quán)方式
這篇文章主要介紹了PostgreSQL用戶、數(shù)據(jù)庫及表的管理、操作與授權(quán)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01PostgreSQL教程(四):數(shù)據(jù)類型詳解
這篇文章主要介紹了PostgreSQL教程(四):數(shù)據(jù)類型詳解,本文講解了數(shù)值類型、字符類型、布爾類型、位串類型、數(shù)組、復(fù)合類型等數(shù)據(jù)類型,需要的朋友可以參考下2015-05-05PostgreSQL截取字符串到指定字符位置詳細(xì)示例
這篇文章主要給大家介紹了關(guān)于PostgreSQL截取字符串到指定字符位置的相關(guān)資料,PostgreSQL數(shù)據(jù)庫拼接字符串函數(shù)是一種非常重要的函數(shù),使用它可以方便地將不同的字符串進行拼接操作,從而得到我們需要的結(jié)果,需要的朋友可以參考下2023-07-07postgresql 利用fdw來實現(xiàn)不同數(shù)據(jù)庫之間數(shù)據(jù)互通(推薦)
這篇文章主要介紹了postgresql 利用fdw來實現(xiàn)不同數(shù)據(jù)庫之間數(shù)據(jù)互通,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02使用psql操作PostgreSQL數(shù)據(jù)庫命令詳解
這篇文章主要為大家介紹了使用psql操作PostgreSQL數(shù)據(jù)庫命令詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-08-08