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.
Nota 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
Altre risorse
Attacco intrusivo nel codice SQL
sp_executesql (Transact-SQL)
Guida in linea e informazioni
Cronologia modifiche
Versione | Cronologia |
---|---|
5 dicembre 2005 |
|