When Language is PLPGSQL

When the source language of the function is LANGUAGE PLPGSQL SnowConvert will generate stored procedures.

Returning Function

When a function returns a non-void type the generated stored procedure will return this type.

Greenplum

CREATE FUNCTION 
RETURNS nonVoidType
AS
$$
...
$$
LANGUAGE PLPGSQL 
functionOptions;

Snowflake

/*** MSC-WARNING - MSC-GP0003 - RETURNING FUNCTION TRANSLATED TO STORED PROCEDURE ***/
CREATE OR REPLACE PROCEDURE FOO
RETURNS nonVoidType
LANGUAGE SQL
functionOptions
AS
$$
...
$$

Non-Returning Function

When a function returns a void type the generated stored procedure will return a string type and a RETURN 'SUCCESS' statement is added at the end of the body.

Greenplum

CREATE FUNCTION 
RETURNS VOID
AS
$$
DECLARE
...
BEGIN
...
END;
$$
LANGUAGE PLPGSQL 
functionOptions;

Snowflake

/*** MSC-WARNING - MSC-GP0002 - NON-RETURNING FUNCTION TRANSLATED TO STORED PROCEDURE ***/
CREATE OR REPLACE PROCEDURE FOO
RETURNS STRING
LANGUAGE SQL
functionOptions
AS
$$
DECLARE
...
BEGIN
...
RETURN 'SUCCESS';
END;
$$

Last updated