加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

PostgreSQL的存储过程初探

发布时间:2020-12-13 17:23:13 所属栏目:百科 来源:网络整理
导读:什么是存储过程,百度百科是这么定义的:存储 过程(Stored Procedure)是在大型 数据库系统 中,一组为了完成特定功能的SQL 语句集,存储在数据库中经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)

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

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

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

<pre name="code" class="sql">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,51); line-height: 24px;">  .......
  return num;
END;
$BODY$ LANGUAGE plpgsql VOLATILE

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读