扫码一下
查看教程更方便
PostgreSQL函数,也称为存储过程,允许您在数据库中的单个函数中执行通常需要多次查询和往返的操作。函数允许重用数据库,因为其他应用程序可以直接与您的存储过程交互,而不是中间层或重复代码。
可以使用您选择的语言(如 SQL 、PL/pgSQL、C、Python 等)创建函数。
创建函数的基本语法如下 -
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;
说明
以下示例说明了创建和调用独立函数。此函数返回 COMPANY 表中的记录总数。我们使用的COMPANY表,其中包含以下记录
id | name | age | address | salary
----+-------+-----+-----------+--------
1 | Paul | 32 | California| 20000
2 | Allen | 25 | Texas | 15000
3 | Teddy | 23 | Norway | 20000
4 | Mark | 25 | Rich-Mond | 65000
5 | David | 27 | Texas | 85000
6 | Kim | 22 | South-Hall| 45000
7 | James | 24 | Houston | 10000
(7 rows)
函数 totalRecords() 定义如下
CREATE OR REPLACE FUNCTION totalRecords ()
RETURNS integer AS $total$
declare
total integer;
BEGIN
SELECT count(*) into total FROM COMPANY;
RETURN total;
END;
$total$ LANGUAGE plpgsql;
执行上述查询时,结果如下
jiyik_db=# CREATE FUNCTION
现在,让我们执行对该函数的调用并检查 COMPANY 表中的记录
jiyik_db=# select totalRecords();
执行上述查询时,结果如下
totalrecords
--------------
7
(1 row)