Condividi tramite


Esecuzione delle stored procedure - Chiamare le stored procedure

Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW)

Il driver ODBC di SQL Server supporta l'esecuzione di stored procedure come stored procedure remote. L'esecuzione di una stored procedure come stored procedure remota consente al driver e al server di ottimizzare le prestazioni di esecuzione della procedura.

Quando un'istruzione SQL chiama una stored procedure usando la clausola di escape ODBC CALL, il driver DI SQL Server invia la procedura a SQL Server usando il meccanismo RPC (Remote Stored Procedure Call). Le richieste RPC ignorano la maggior parte dell'analisi delle istruzioni e dell'elaborazione dei parametri in SQL Server e sono più veloci rispetto a un'istruzione Transact-SQL EXECUTE.

Per un'applicazione di esempio che illustra questa funzionalità, vedere Elaborare i codici restituiti e i parametri di output (ODBC).

Per eseguire una procedura come RPC

  1. Costruire un'istruzione SQL che utilizzi la sequenza di escape ODBC CALL. Nell'istruzione vengono utilizzati marcatori di parametro per ogni parametro di input, input/output e di output e per il valore restituito della procedura, se disponibile:

    {? = CALL procname (?,?)}  
    
  2. Chiamare SQLBindParameter per ogni parametro di input, input/output e di output e per il valore restituito della routine (se presente).

  3. Eseguire l'istruzione con SQLExecDirect.

Nota

Se un'applicazione invia una procedura utilizzando la sintassi Transact-SQL EXECUTE, invece della sequenza di escape ODBC CALL, il driver ODBC di SQL Server passa la chiamata di procedura a SQL Server come istruzione SQL anziché come chiamata RPC. Se viene utilizzata l'istruzione Transact-SQL EXECUTE, inoltre, i parametri di output non vengono restituiti.

Vedi anche

Invio in batch di chiamate di stored procedure
Esecuzione delle stored procedure
Chiamata di una stored procedure
Procedure