語法:
CREATE [OR REPLACE] FUNCTION function_name (arguments) RETURNS return_datatype AS $variable_name$ DECLARE declaration; [...] BEGIN < function_body > [...] RETURN { variable_name | value } END;
$variable_name$ LANGUAGE plpgsql;
參數說明
function_name
:指定函數的名稱。[OR REPLACE]
:是可選的,它允許您修改/替換現有函數。RETURN
:它指定要從函數返回的數據類型。它可以是基礎,復合或域類型,或者也可以引用表列的類型。function_body
:function_body
包含可執行部分。plpgsql
:它指定實現該函數的語言的名稱。
創建一個獲取uuid的方法
CREATE OR REPLACE FUNCTION uuid () RETURNS varchar AS $uuid_str$ DECLARE uuid_str varchar; BEGIN uuid_str := (select array_to_string(array(select substring('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' FROM (ceil(random()*62))::int FOR 1) FROM generate_series(1, 32)), '')); RETURN uuid_str; END; $uuid_str$ LANGUAGE plpgsql;