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
表上創建一個名為total records()
的函數。
函數的定義如下:
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();
當執行上述查詢時,結果為:
上一篇:
PostgreSQL交叉連接(CROSS JOIN)
下一篇:
PostgreSQL觸發器