MSCEWI1079

Parameter names were removed from call

Severity

Low

Status: Deprecated

Description

This EWI is used when a parameter's name is removed. This is because the named parameters, while they are accepted, they are not functional in Snowflake meaning they will behave just like positional parameters.

While normally this may not cause issues, it does mean that optional parameters may have to be added to the call and the order of the parameters needs to be checked.

Example Code

Oracle:

-- Procedure with optional parameters
CREATE OR REPLACE PROCEDURE proc_optional_parameters (param1 INTEGER, param2 INTEGER := 8, param3 INTEGER)
AS
BEGIN
    INSERT INTO procedure_call_test_table VALUES (param1);
    INSERT INTO procedure_call_test_table VALUES (param2);
    INSERT INTO procedure_call_test_table VALUES (param3);
END;

CREATE OR REPLACE PROCEDURE calling_procedure
AS
BEGIN
    -- positional convention
    proc_optional_parameters(1, 2, 3);
    
    -- named convention, names can be safely removed
    proc_optional_parameters(param1 => 4, param2 => 5, param3 => 6);
    
    -- named convention, second gets ommited, needs manual intervention
    proc_optional_parameters(param1 => 7, param3 => 9);
    
    -- named convention, different order
    proc_optional_parameters(param3 => 12, param1 => 10, param2 => 11);
END;

CALL calling_procedure();

Snowflake Scripting:

Recommendations

  • Make sure to fill in any optional formal parameters and verify all the actual parameters are in the same order as their formal counterparts.

  • If you need more support, you can email us at [email protected]

Last updated