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)