PostgreSQL函数(存储过程)语法和参数说明

2018-09-1713:18:12数据库教程Comments7,909 views字数 907阅读模式

ostgreSQL函数也称为PostgreSQL存储过程。 PostgreSQL函数或存储过程是存储在数据库服务器上并可以使用SQL界面调用的一组SQL和过程语句(声明,分配,循环,控制流程等)。 它有助于您执行通常在数据库中的单个函数中进行多次查询和往返操作的操作。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/4924.html

您可以在许多语言(如SQL,PL/pgSQL,C,Python等)中创建PostgreSQL函数。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/4924.html

语法:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/4924.html

CREATE [OR REPLACE] FUNCTION function_name (arguments)   
RETURNS return_datatype AS $variable_name$  
  DECLARE  
    declaration;  
    [...]  
  BEGIN  
    < function_body >  
    [...]  
    RETURN { variable_name | value }  
  END; LANGUAGE plpgsql;
SQL

参数说明

  • function_name:指定函数的名称。
  • [OR REPLACE]:是可选的,它允许您修改/替换现有函数。
  • RETURN:它指定要从函数返回的数据类型。它可以是基础,复合或域类型,或者也可以引用表列的类型。
  • function_bodyfunction_body包含可执行部分。
  • plpgsql:它指定实现该函数的语言的名称。

例子:

下面我们来举个例子来演示PostgreSQL函数使用,我们有一个名为“EMPLOYEES”的表具有以下数据。
PostgreSQL函数(存储过程)语法和参数说明文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/4924.html

EMPLOYEES表上创建一个名为total records()的函数。
函数的定义如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/4924.html

文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/4924.html

CREATE OR REPLACE FUNCTION totalRecords ()  
RETURNS integer AS $total$  
declare  
    total integer;  
BEGIN  
   SELECT count(*) into total FROM EMPLOYEES;  
   RETURN total;  
END;  
$total$ LANGUAGE plpgsql;
SQL

输出:
PostgreSQL函数(存储过程)语法和参数说明文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/4924.html

您可以看到一个名为“totalrecords”的函数被创建。现在,来执行一个调用这个函数并检查EMPLOYEES表中的记录,如下所示 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/4924.html

select totalRecords();
SQL

当执行上述查询时,结果为:
PostgreSQL函数(存储过程)语法和参数说明文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/4924.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/sjk/4924.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定