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

La plupart des applications Microsoft SQL Server 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.

    Remarque relative à la sécuritéRemarque 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.