Fermer

février 21, 2019

SQL dynamique – Construire du SQL pendant l'exécution


A propos du SQL dynamique

La technique de programmation SQL dynamique vous permet de créer du SQL de manière dynamique lors de l'exécution. De nombreuses applications flexibles peuvent être créées à l’aide de SQL dynamique, car les informations complètes sur l’instruction SQL peuvent être inconnues lors de la compilation.

Le SQL dynamique est utilisé dans les cas où du SQL statique prend en charge l’opération ou si vous ne connaissez pas les instructions SQL exactes à utiliser. être exécuté. Ces instructions peuvent dépendre de l'entrée utilisateur ou du travail de traitement effectué par le programme.

Différentes instructions SQL peuvent être exécutées pour chaque ligne d'entrée à l'aide de SQL dynamique.

Applications SQL dynamiques

Voici quelques types d'applications.

  • L'utilisateur final choisit la requête ou l'entrée au moment de l'exécution
  • L'utilisateur final sélectionne Entrée ou l'optimiseur au moment de l'exécution
  • Interroge une base de données contenant les définitions de données des tables. change constamment.
  • Interroge une base de données où de nouvelles tables sont créées fréquemment.

SQL dynamique – Exemple

Supposons que nous voulions implémenter la page Web «Recherche de patients» comme indiqué ci-dessous


[19659003] Selon les champs de recherche fournis par l'utilisateur final, nous allons rechercher les chaînes correspondantes dans la table des patients.

La table d'informations sur les patients, qui est déjà disponible dans la base de données, est la suivante.

Nous allons maintenant rechercher les informations relatives au patient comme ci-dessous

Dans l'exemple ci-dessous, supposons que l'utilisateur ait fourni des valeurs uniquement pour First_Name et Last_Name. des champs. Pour exécuter le code SQL dynamique, nous utilisons la procédure stockée système sp_executesql.

Généralement, sp_executesql utilise 2 paramètres prédéfinis et un nombre n de paramètres définis par l'utilisateur.

@statement – Il s'agit du premier paramètre obligatoire contenant les instructions SQL. execute.

@params – C’est un autre paramètre qui est facultatif. C'est pour déclarer les paramètres spécifiés dans @statement.

Les autres paramètres sont ceux que vous aviez déclarés dans les @params.

Ici, si l'utilisateur n'entre que le First_Name = Tim et Last_Name = Stuart dans le formulaire de recherche. Tous les détails du patient seront extraits de la base de données

SQL dynamique – Avantages

  • Accélère les requêtes complexes
  • Augmente la possibilité de réutilisation de même requête.
  • Génère automatiquement et automatiquement des instructions SQL volumineuses ou complexes.
  • Face à l'évolution des besoins, sa réponse et sa flexibilité sont très rapides.
  • Permet d'exécuter des instructions SQL dont la structure est inconnue jusqu'à ce que le temps d'exécution.

Glossaire

  • SQL – Langage de requête structuré
  • SP – Procédure stockée




Source link