SQL intégré

Définition - Que signifie Embedded SQL?

Embedded SQL est une méthode d'insertion d'instructions ou de requêtes SQL en ligne dans le code d'un langage de programmation, appelé langage hôte. Étant donné que le langage hôte ne peut pas analyser SQL, le SQL inséré est analysé par un préprocesseur Embedded SQL.

Embedded SQL est une méthode robuste et pratique pour combiner la puissance de calcul d'un langage de programmation avec les capacités spécialisées de gestion et de manipulation des données de SQL.

Definir Tech explique Embedded SQL

Embedded SQL n'est pas pris en charge par tous les systèmes de gestion de base de données relationnelle (SGBDR). Oracle DB et PostgreSQL fournissent une prise en charge Embedded SQL. MySQL, Sybase et SQL Server 2008 ne le font pas, bien que la prise en charge ait été fournie par les versions antérieures de SQL Server (2000 et 2005).

Le langage de programmation C est couramment utilisé pour l'implémentation Embedded SQL. Par exemple, le système d'information (SI) d'une banque commerciale possède une interface utilisateur frontale créée en langage C et le SI s'interface avec une base de données Oracle DB back-end. L'un des modules d'interface frontale permet une visualisation rapide et un calcul de commission pour les agents commerciaux pendant des périodes spécifiées. Une approche inefficace pour gérer ce processus consisterait à stocker chaque valeur de commission dans une table de base de données. Cependant, une solution plus efficace consiste à calculer et à renvoyer les valeurs de commission en fonction des demandes des utilisateurs uniques à des dates spécifiées. L'application accomplit cela en incorporant une requête SQL dans le code C, comme suit:

SÉLECTIONNEZ 0.2 * SALE_AMOUNT FROM TOTAL_SALES WHERE SALE_DATE = 'MM / DD'YYYY' AND AGENT_NO = xx

Dans cet exemple, l'instruction SQL calcule et renvoie 20% du montant de la vente à partir d'une table TOTAL_SALES, tandis que l'utilisateur doit saisir les valeurs SALE_DATE et AGENT_NO. Cette requête SQL est ensuite insérée en ligne dans le code C du module frontal. Le code C et la requête SQL fonctionnent ensemble pour fournir des résultats utilisateur transparents.