Ondrej Sika

Basic examples of CREATE FUNCTION in PostgreSQL

04 Apr 2014

Example 1

CREATE FUNCTION foo(a INTEGER, b INTEGER)
RETURNS INTEGER as $$
    SELECT a + b;
$$ LANGUAGE 'sql';
sika=# select foo(1, 2);
 foo
-----
   3
(1 row)

Example 2

CREATE OR REPLACE FUNCTION foo(a INTEGER, b INTEGER, c INTEGER)
RETURNS INTEGER AS $$
BEGIN
    IF a != 0 THEN
        RETURN b;
    END IF;
    RETURN c;
END;
$$ LANGUAGE plpgsql;

sika=# select foo(1,2,3), foo(0,2,3);
 foo | foo
-----+-----
   2 |   3
(1 row)

Example 3

CREATE OR REPLACE FUNCTION foo(a INTEGER, b INTEGER, c INTEGER)
RETURNS INTEGER AS $$
DECLARE
    total INTEGER;
BEGIN
    total = a + b + c;
    RETURN total;
END;
$$ LANGUAGE plpgsql;
sika=# select foo(1,2,3);
 foo
-----
   6
(1 row)

Sources

Share on Facebook, Twitter, Google+, Linkedin

comments powered by Disqus

--