PostgreSQL Functions
PostgreSQL functions are stored procedures and can be easily understood as a set of SQL and procedural statements. They are stored on the database server. A function can be invoked using the SQL interface. It facilitates to ease the operations within the database. A PostgreSQL function can be created in several languages including SQL, PL/pgSQL, C and Python.
Syntax:
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;
Parameters:
function_name: It is used to specify the name of the function.
[OR REPLACE]: It is an optional method which facilitates to modify an existing function.
RETURN: It is used to specify the data type to be returned from the function. Its value can reference the type of a table column or can be a base, composite, or domain type.
function_body: It is used to specify the executable parts.
plpgsql: It is used to specify the name of the language in which the function is implemented.
Example:
CREATE OR REPLACE FUNCTION total_students() RETURNS integer AS $total$ declare total integer; BEGIN SELECT count(*) into total FROM STUDENTS; RETURN total; END; $total$ LANGUAGE plpgsql; |
Output:
Query returned successfully with no result in 300 ms.
Explanation:
Here we are creating a function named total_students() on the STUDENTS table.