POSITIONAL ARGUMENTS
Description
Redshift supports nameless parameters by referencing the parameters by their position using $. Snowflake does not support this behavior. To ensure functional equivalence, SnowConvert can convert those references by the parameter’s name if the name is present in the definition. If not, SnowConvert will generate a name for the parameter, and the uses will be replaced with the new name.
Grammar Syntax
$n
Sample Source Patterns
Input Code:
CREATE OR REPLACE PROCEDURE SP_POSITIONAL_REFERENCES(
INTEGER,
param2 INTEGER,
INTEGER)
AS
$$
DECLARE
localVariable INTEGER := 0;
BEGIN
localVariable := $2 + $3 + $1;
END;
$$
LANGUAGE plpgsql;
Output Code:
CREATE OR REPLACE PROCEDURE SP_POSITIONAL_REFERENCES (SC_ARG1
INTEGER,
param2 INTEGER, SC_ARG3 INTEGER)
RETURNS VARCHAR
LANGUAGE SQL
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "redshift", "convertedOn": "03/03/2025", "domain": "test" }}'
AS
$$
DECLARE
localVariable INTEGER := 0;
BEGIN
localVariable := param2 + SC_ARG3 + SC_ARG1;
END;
$$;
Known Issues
There are no known issues.
Related EWIs.
There are no related EWIs.
Last updated