PostgreSQL的存储过程初探

前端之家收集整理的这篇文章主要介绍了PostgreSQL的存储过程初探前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

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

  1. <pre name="code" class="sql">CREATE OR REPLACE FUNCTION 函数名(参数1,[整型 int4,整型数组 _int4,…])
  1. RETURNS 返回值类型 AS
  2. $BODY$
  3. DECLARE
  4. 变量声明
  5. BEGIN
  6. 函数
  7. END;
  8. $BODY$
  9. LANGUAGE plpgsql VOLATILE;
  1.  
  1.  
下面的例子是要调用一个存储过程自动创建对应的一系列表:

  1. <pre name="code" class="sql">CREATE OR REPLACE FUNCTION create_table_for_client(id int)
  2. RETURNS integer AS
  3. $BODY$
  4. DECLARE
  5. num int4 := 0;
  6. sql "varchar";
  7. BEGIN
  8. sql := 'create table _' || id || '_company(id int,name text)';
  9. EXECUTE sql;
  1. sql := 'create table _' || id || '_employee(id int,name text)';
  2. EXECUTE sql;
  1. sql := 'create table _' || id || '_sale_bill(id int,51); line-height: 24px;"> .......
  1. return num;
  1. END;
  1. $BODY$ LANGUAGE plpgsql VOLATILE

猜你在找的Postgre SQL相关文章