初识PostgreSQL存储过程
什么是存储过程, 百度百科是这么定义的:存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。
Postgresql的存储过程语法结构如下:
代码如下:
CREATE OR REPLACE FUNCTION 函数名(参数1,[整型 int4, 整型数组 _int4, …]) <p>RETURNS 返回值类型 AS</p> <p>$BODY$</p> <p>DECLARE</p> <p>变量声明</p> <p>BEGIN</p> <p>函数体</p> <p>END;</p> <p>$BODY$</p> <p>LANGUAGE ‘plpgsql' VOLATILE; </p>
下面的例子是要调用一个存储过程自动创建对应的一系列表:
代码如下:
CREATE OR REPLACE FUNCTION create_table_for_client(id int) <p>RETURNS integer AS</p> <p>$BODY$</p> <p>DECLARE</p> <p>num int4 := 0;</p> <p>sql "varchar";</p> <p>BEGIN</p> <p>sql := 'create table _' || id || '_company(id int, name text)';</p> <p>EXECUTE sql;</p> <p>sql := 'create table _' || id || '_employee(id int, name text)';EXECUTE sql;</p> <p>sql := 'create table _' || id || '_sale_bill(id int, name text)';EXECUTE sql;</p> <p>.......</p> <p>return num;</p> <p>END;</p> <p>$BODY$ LANGUAGE plpgsql VOLATILE </p>
相关推荐
Omega 2020-08-16
zjyzz 2020-08-16
minggehenhao 2020-07-28
zhaojp0 2020-06-27
zjuwangleicn 2020-06-25
wenjieyatou 2020-06-17
liaomingwu 2020-06-16
hungzz 2020-06-16
muzirigel 2020-06-14
gsmfan 2020-06-14
ncomoon 2020-06-14
xiaobaif 2020-06-13
Rain 2020-06-12
hanshangzhi 2020-06-12
talkingDB 2020-06-12
IBMRational 2020-06-09
snowguy 2020-06-01