Partager via


Exécution de procédures stockées - Appeler des procédures stockées

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Le pilote ODBC SQL Server prend en charge l’exécution de procédures stockées en tant que procédures stockées distantes. L'exécution d'une procédure stockée en tant que procédure stockée distante permet au pilote et au serveur d'optimiser les performances de l'exécution de la procédure.

Lorsqu’une instruction SQL appelle une procédure stockée à l’aide de la clause d’échappement ODBC CALL, le pilote SQL Server envoie la procédure à SQL Server à l’aide du mécanisme d’appel de procédure stockée distante (RPC). Les demandes RPC, qui contournent une grande partie de l'analyse des instructions et du traitement des paramètres dans SQL Server, sont plus rapides que l'instruction Transact-SQL EXECUTE.

Pour obtenir un exemple d’application qui illustre cette fonctionnalité, consultez Les codes de retour de processus et les paramètres de sortie (ODBC).

Pour exécuter une procédure en tant qu'appel RPC

  1. Construisez une instruction SQL qui utilise la séquence d'échappement ODBC CALL. L'instruction utilise des marqueurs de paramètre pour chaque entrée, entrée/sortie et paramètre de sortie, et pour la valeur de retour de la procédure (le cas échéant) :

    {? = CALL procname (?,?)}  
    
  2. Appelez SQLBindParameter pour chaque paramètre d'entrée, d'entrée/sortie et de sortie et pour la valeur de retour de la procédure (le cas échéant).

  3. Exécutez l'instruction avec SQLExecDirect.

Remarque

Si une application soumet une procédure à l'aide de la syntaxe Transact-SQL EXECUTE (par opposition à la séquence d'échappement ODBC CALL), le pilote ODBC de SQL Server passe l'appel de procédure à SQL Server en tant qu'instruction SQL et non en tant qu'appel RPC. Par ailleurs, les paramètres de sortie ne sont pas retournés si l'instruction Transact-SQL EXECUTE est utilisée.

Voir aussi

Traitement par lot des appels de procédures stockées
Exécution de procédures stockées
Appel d’une procédure stockée
Procédures