PostgreSQL 函數也稱為 PostgreSQL 存儲過程。 PostgreSQL 函數或存儲過程是存儲在數據庫服務器上並可以使用SQL界面調用的一組SQL和過程語句(聲明,分配,循環,控制流程等)。 它有助於您執行通常在數據庫中的單個函數中進行多次查詢和往返操作的操作。您可以在許多語言(如SQL,PL/pgSQL,C,Python等)中創建 PostgreSQL 函數。
語法:
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;
參數說明:
- function_name:指定函數的名稱。
- [OR REPLACE]:是可選的,它允許您修改/替換現有函數。
- RETURN:它指定要從函數返回的數據類型。它可以是基礎,復合或域類型,或者也可以引用表列的類型。
- function_body:function_body包含可執行部分。
- plpgsql:它指定實現該函數的語言的名稱。
例子:下面我們來舉個例子來演示 PostgreSQL 函數使用,我們有一個名為“EMPLOYEES”的表具有以下數據。

在 EMPLOYEES 表上創建一個名為 totalRecords() 的函數。
函數的定義如下:
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;
輸出:

您可以看到一個名為“totalrecords”的函數被創建。現在,來執行一個調用這個函數並檢查 EMPLOYEES 表中的記錄
select totalRecords();
結果:

