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();
當執行上述查詢時,結果為: