This warning is displayed when a Stored Procedure includes parameters with modifiers such as
INOUT. Those types of parameters are translated as a return statement in the Stored Procedure body in which an array will be returned with each output value in it. The return statements are being cast to a string data type.
The parameters with modifiers
INOUT have a dual behavior in Teradata. Since there is not an equivalent in Snowflake, they are translated as
OUT parameters and always returned. This may cause that the target procedure returns null in cases where the
INOUT was expected to behave as an
CREATE PROCEDURE sampleProcedure(IN p1 INTEGER, INOUT p2 INTEGER, OUT p3 INTEGER)BEGINSET p3 = p1;SET p2 = p2 + 1;END;
Instead of using
INOUT modifier, it is recommended to use
OUT to be more specific with the parameter role, in order to avoid null returns in the target procedure.