CALL¶
Appelle une procédure stockée.
- Voir aussi :
Syntaxe¶
Paramètres requis¶
procedure_name ( [ [ arg_name => ] arg , ... ] )Spécifie l’identificateur (
procedure_name) pour la procédure à appeler et pour tout argument d’entrée.Vous pouvez spécifier les arguments d’entrée soit par leur nom (
arg_name => arg) , soit par leur position (arg).Note
Vous devez spécifier tous les arguments soit par leur nom, soit par leur position. Vous ne pouvez pas spécifier certains arguments par leur nom et d’autres par leur position.
When you specify an argument by name, you can’t use double quotes around the argument name.
If two procedures have the same name but different argument types, you can use the argument names to specify which procedure to execute, if the argument names are different. For more information, see Surcharge de procédures et de fonctions.
Paramètres facultatifs¶
INTO :snowflake_scripting_variableDéfinit la variable Exécution de scripts Snowflake spécifiée dans la valeur de retour de la procédure stockée.
Exemples¶
Pour des exemples plus détaillés de création et d’appel de procédures stockées, voir Travailler avec des procédures stockées.
Chaque argument d’une procédure stockée peut être une expression générale :
Un argument peut être une sous-requête :
Vous ne pouvez appeler qu’une procédure stockée par instruction CALL. Par exemple, l’instruction suivante échoue :
En outre, vous ne pouvez pas utiliser une procédure stockée CALL dans le cadre d’une expression. Par exemple, toutes les instructions suivantes échouent :
Toutefois, dans une procédure stockée, la procédure stockée peut appeler une autre procédure stockée ou s’appeler elle-même de manière récursive.
Prudence
Les appels imbriqués peuvent dépasser la profondeur de pile maximale autorisée. Soyez donc prudent lors de l’imbrication des appels, en particulier lors de l’utilisation de la récursivité.
L’exemple suivant appelle une procédure stockée nommée sv_proc1 et transmet un littéral de chaîne et un nombre comme arguments d’entrée : L’exemple précise les arguments par position :
Vous pouvez également spécifier les arguments par leur nom :
L’exemple suivant montre comment définir et transmettre une variable de session comme argument d’entrée dans une procédure stockée :
Voici un exemple de bloc Exécution de scripts Snowflake qui capture la valeur de retour d’une procédure stockée dans une variable Exécution de scripts Snowflake.
Note: If you use Snowflake CLI, SnowSQL, the Classic Console, or the
execute_stream or execute_string method in Python Connector
code, use this example instead (see Using Snowflake Scripting in Snowflake CLI, SnowSQL, and Python Connector):