CREATE FUNCTION

Create a new function.

Table of contents

Synopsis

CREATE [OR REPLACE] FUNCTION function_name
    ( [ [argument_name] argument_type ] [, ...] ] )
RETURNS return_type
LANGUAGE language_name
AS 'definition'

Description

CREATE FUNCTION creates a new user-defined function.

CREATE OR REPLACE FUNCTION will either create a new function, or replace an existing function.

The signature of the function is defined by its schema, name, and input arguments.

You can overload functions by defining two functions of the same name, but with a different set of input arguments.

Parameters

function_name:

The name of the function to create.

argument_name:

The optional name given to an argument. Function arguments do not retain names, but you can name them in your query for documentation purposes.

argument_type:

The data type of a given argument.

return_type:

The returned data type of the function. The return type can be any supported type.

language_name:

The registered language which should be used for the function.

definition:

A string defining the body of the function.