PROCEDURE CALL
Translation reference for PROCEDURE CALL aka SUBPROGRAM INVOCATION
Description
This section describes the syntax for subprogram invocations within PL blocks, such as procedures or anonymous blocks.
For more information on this subject, please refer to Oracle's Subprogram documentation: (Oracle PL/SQL Language Reference Subprogram Invocation Statement)
Procedure calls can be migrated to Snowflake as long as there are no optional parameters and their order matches the formal parameters. Please note that Procedure invocations get migrated to a Call statement.
<subprogram invocation> := subprogram_name [ ( [ parameter [, parameter]... ] ) ]
<parameter> := {
<actual parameter>
| <formal parameter name> => <actual parameter>
}Snowflake Scripting has support for this statement, albeit with some functional differences.
<subprogram invocation> := CALL subprogram_name [ ( [ parameter [, parameter]... ] ) ]
<parameter> := {
<actual parameter>
| <formal parameter name> => <actual parameter>
}Sample Source Patterns
Simple call
Oracle
Snowflake Scripting
Calling a procedure with an optional parameter
This sample contains manual intervention for some functional differences and is used to explain them. For more information on these differences, please check the Known Issues section below.
Oracle
Snowflake Scripting
Known Issues
1. Calling Subprograms with default values is not supported
Snowflake does not support setting default values for parameters. So these will need to be filled into every call.
2. Named parameters are accepted, but not functionally equivalent
These parameters will not cause any compilation errors when run in Snowflake; however, calls still place them in a positional manner. For this reason, the order of these parameters needs to be checked. SnowConvert does not support checking nor reordering these parameters.
3. Calling Subprograms with Out Parameters is not supported
Snowflake does not have support for parameter modes, however, a solution is being implemented to emulate their functionality. To get more information about the transformation for output parameters please go to the following article Output Parameters.
Related EWIs
MSCEWI1058: Functionality is not currently supported by Snowflake Scripting
MSCEWI1078: Output parameters are not supported by Snowflake Scripting
Last updated
Was this helpful?