PostgreSQL存储过程初探

什么是存储过程, 百度百科是这么定义的:存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是 数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。

Postgresql的存储过程语法结构如下:

CREATE OR REPLACE FUNCTION 函数名(参数1,[整型 int4, 整型数组 _int4, …])

RETURNS 返回值类型 AS

$BODY$

DECLARE

变量声明

BEGIN

函数体

END;

$BODY$

LANGUAGE ‘plpgsql’ VOLATILE;

下面的例子是要调用一个存储过程自动创建对应的一系列表:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值