Partager via


Élaboration d'instructions au moment de l'exécution

Mis à jour : 5 décembre 2005

La plupart des applications Microsoft SQL Server 2005 qui doivent construire dynamiquement des instructions SQL au moment de l'exécution le font avant d'appeler la méthode ou la fonction d'API de base de données requise pour exécuter l'instruction. Par exemple, une application C utilisant ODBC peut construire de façon dynamique une ou plusieurs instructions SQL dans un tableau de caractères, puis faire passer ce tableau aux fonctions SQLPrepare ou SQLExecDirect d'ODBC.

Dans les déclencheurs, les procédures stockées et les scripts Transact-SQL, Transact-SQL prend en charge les méthodes suivantes de construction d'instructions SQL au moment de l'exécution.

  • Utilisez la procédure stockée système sp_executesql pour exécuter une chaîne Unicode. sp_executesql prend en charge une substitution de paramètres identique à celle de l'instruction RAISERROR.
  • Utilisez l'instruction EXECUTE pour exécuter une chaîne de caractères. L'instruction EXECUTE ne prend pas en charge la substitution de paramètres dans la chaîne exécutée.
    ms178115.security(fr-fr,SQL.90).gifRemarque relative à la sécurité :
    L'utilisation de l'instruction EXECUTE pour exécuter une chaîne facilite les attaques par injection SQL. Il est recommandé d'utiliser à la place sp_executesql avec des paramètres.

Voir aussi

Concepts

Utilisation de sp_executesql

Autres ressources

Injection SQL
sp_executesql (Transact-SQL)

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

5 décembre 2005

Contenu modifié :
  • Insertion d'une remarque sur la sécurité à propos de l'injection SQL.
  • Suppression d'un exemple de code.