createFunction

Creates a stored function.

Available attributes

Name Description Required for Supports Since
catalogName Name of the catalog asany, db2, db2z, derby, firebird, h2, hsqldb, informix, ingres, mariadb, mysql, oracle, postgresql, sqlite, sybase
comments all
dbms Logical expression of database type(s) on which the change must be applied. Valid database type names are listed on the supported databases page. It can be a comma separated list of multiple databases. Or You can also specify that a change is NOT applicable to a particular database type by prefixing with !. The keywords all and none are also available. all 3.1
encoding Encoding used in the file defined in the `path` attribute all
functionBody all all
functionName Name of the function to drop all all
path File containing the procedure text. Either this attribute or a nested procedure text is required. all all
procedureText The SQL creating the procedure. Either this or the path attribute needs to be defined. all all
relativeToChangelogFile Whether the file path relative to the root changelog file rather than to the classpath. all
replaceIfExists If the stored procedure defined by procedureName already exits alter it instead of creating it. all
schemaName Name of the schema all

XML example

<changeSet  author="liquibase-docs"  id="createFunction-example">  
    <pro:createFunction  catalogName="cat"  
            comments="A String"  
            dbms="h2, !oracle, mysql"  
            encoding="UTF-8"  
            functionName="A String"  
            path="com/example/my-logic.sql"  
            relativeToChangelogFile="true"  
            replaceIfExists="false"  
            schemaName="public">A String</pro:createFunction>  
</changeSet>

YAML example

changeSet:  
  id:  createFunction-example  
  author:  liquibase-docs  
  changes:  
  -  createFunction:  
      catalogName:  cat  
      comments:  A String  
      dbms:  h2, !oracle, mysql  
      encoding:  UTF-8  
      functionBody:  A String  
      functionName:  A String  
      path:  com/example/my-logic.sql  
      relativeToChangelogFile:  true  
      replaceIfExists:  false  
      schemaName:  public

JSON example

{  "changeSet":  {  "id":  "createFunction-example",  "author":  "liquibase-docs",  "changes":  [  {  "createFunction":  {  "catalogName":  "cat",  "comments":  "A String",  "dbms":  "h2, !oracle, mysql",  "encoding":  "UTF-8",  "functionBody":  "A String",  "functionName":  "A String",  "path":  "com/example/my-logic.sql",  "relativeToChangelogFile":  true,  "replaceIfExists":  false,  "schemaName":  "public"  }  }]  }  }

Database support

Database Notes Auto rollback
DB2/LUW Supported No
DB2/z Supported No
Derby Supported No
Firebird Supported No
H2 Supported No
HyperSQL Supported No
INGRES Supported No
Informix Supported No
MariaDB Supported No
MySQL Supported No
Oracle Supported No
PostgreSQL Supported No
SQL Server Supported No
SQLite Supported No
Sybase Supported No
Sybase Anywhere Supported No