CREATE OR REPLACE FUNCTION foo() RETURNS integer AS
$body$
DECLARE
-- 變數宣告
BEGIN
-- 函數本體
RETURN 1;
END;
$body$ LANGUAGE plpgsql;
$tag$ ... $tag$ 為字串常數替代單引號,避免函數本體內單引號轉義地獄。tag 可為任意識別符(如 $func$, $body$, $sql$),成對出現且必須完全相同。CREATE FUNCTION outer() RETURNS void AS
$outer$
BEGIN
EXECUTE $inner$
SELECT 1;
$inner$;
END;
$outer$ LANGUAGE plpgsql;