Condividi tramite


Generazione di istruzioni in fase di esecuzione

Data aggiornamento: 5 dicembre 2005

Nella maggior delle applicazioni Microsoft SQL Server 2005 che prevedono la generazione dinamica delle istruzioni SQL in fase di esecuzione, viene innanzitutto generata l'istruzione in modo dinamico e quindi viene chiamato un metodo o una funzione API del database per eseguire l'istruzione. Un'applicazione scritta nel linguaggio C che utilizza ODBC può, ad esempio, generare in modo dinamico una o più istruzioni SQL in una matrice di caratteri e quindi passare la matrice alle funzioni ODBC SQLPrepare o SQLExecDirect.

Transact-SQL supporta i metodi seguenti per la generazione di istruzioni SQL in fase di esecuzione in script, stored procedure e trigger di Transact-SQL:

  • Stored procedure di sistema sp_executesql per l'esecuzione di una stringa Unicode. sp_executesql supporta la sostituzione di parametri in modo analogo all'istruzione RAISERROR.
  • Istruzione EXECUTE per l'esecuzione di una stringa di caratteri. Questa istruzione non supporta la sostituzione di parametri all'interno della stringa eseguita.
    ms178115.security(it-it,SQL.90).gifNota sulla protezione:
    L'utilizzo dell'istruzione EXECUTE per eseguire una stringa facilita gli attacchi intrusivi nel codice SQL. È invece consigliabile utilizzare sp_executesql con i relativi parametri.

Vedere anche

Concetti

Utilizzo di sp_executesql

Altre risorse

Attacco intrusivo nel codice SQL
sp_executesql (Transact-SQL)

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

5 dicembre 2005

Contenuto modificato
  • Aggiunta di una nota sulla protezione relativa agli attacchi intrusivi nel codice SQL.
  • Rimozione di un esempio di codice.