首页 > 代码库 > PostgreSQL的存储过程初探
PostgreSQL的存储过程初探
什么是存储过程, 百度百科是这么定义的:存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。
Postgresql的存储过程语法结构如下:
<pre name="code" class="sql" style="color: rgb(51, 51, 51); line-height: 24px;"><span style="font-family: arial, 宋体, sans-serif;">CREATE OR REPLACE FUNCTION 函数名(参数1,[整型 int4, 整型数组 _int4, …])</span>
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;
<pre name="code" class="sql" style="color: rgb(51, 51, 51); line-height: 24px;"> sql := 'create table _' || id || '_employee(id int, name text)'; EXECUTE sql;
<pre name="code" class="sql" style="color: rgb(51, 51, 51); line-height: 24px;"> sql := 'create table _' || id || '_sale_bill(id int, name text)'; EXECUTE sql;....... return num;END;$BODY$ LANGUAGE plpgsql VOLATILE
PostgreSQL的存储过程初探
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。