92
Introduction pratique aux bases de données relationnelles
surprenant que des utilisateurs occasionnels préfèrent le langage SQL
pour exprimer leurs requêtes avancées.
3.5 Les langages immergés
SQL immergé
Les langages relationnels d'interrogation et de manipulation de
données ne sont pas réservés uniquement à l'usage en tant que
langages autonomes en mode conversationnel. Ils sont aussi intégrés
dans des langages de programmation (langages hôtes). Nous étudions
dans cette section les éléments indispensables à l'intégration des
langages relationnels dans un environnement de programmation.
Notion de curseur
Il convient d’expliquer le concept du langage immergé à l’aide
d’un exemple en SQL. Pour qu'un programme puisse lire une table par
la commande SELECT, il doit pouvoir avancer d'un tuple à l'autre dans
la table considérée. Cette progression fait appel à la notion de
CURSEUR.
Un CURSEUR est un pointeur qui parcourt un ensemble de tuples
dans un certain ordre prédéterminé par le système de bases de
données. Puisqu'un programme conventionnel ne peut traiter une table
entière d'un seul trait, le concept du CURSEUR permet de suivre une
approche de traitement tuple à tuple.
Pour faire la sélection dans une table, il faut définir un CURSEUR
dans le programme comme suit :
Déclaration d’un
curseur
DECLARE nom du curseur CURSOR FOR
commande SELECT
Pour traduire notre intention de modifier les données dans une
table, nous définissons un CURSEUR par l'instruction suivante :
DECLARE nom du curseur CURSOR FOR
commande SELECT FOR
UPDATE OF champ [,champ]
Dans cette approche, le traitement d'une table se fait
enregistrement par enregistrement, c'est-à-dire un tuple à la fois.
Introduction pratique aux bases de données relationnelles
surprenant que des utilisateurs occasionnels préfèrent le langage SQL
pour exprimer leurs requêtes avancées.
3.5 Les langages immergés
SQL immergé
Les langages relationnels d'interrogation et de manipulation de
données ne sont pas réservés uniquement à l'usage en tant que
langages autonomes en mode conversationnel. Ils sont aussi intégrés
dans des langages de programmation (langages hôtes). Nous étudions
dans cette section les éléments indispensables à l'intégration des
langages relationnels dans un environnement de programmation.
Notion de curseur
Il convient d’expliquer le concept du langage immergé à l’aide
d’un exemple en SQL. Pour qu'un programme puisse lire une table par
la commande SELECT, il doit pouvoir avancer d'un tuple à l'autre dans
la table considérée. Cette progression fait appel à la notion de
CURSEUR.
Un CURSEUR est un pointeur qui parcourt un ensemble de tuples
dans un certain ordre prédéterminé par le système de bases de
données. Puisqu'un programme conventionnel ne peut traiter une table
entière d'un seul trait, le concept du CURSEUR permet de suivre une
approche de traitement tuple à tuple.
Pour faire la sélection dans une table, il faut définir un CURSEUR
dans le programme comme suit :
Déclaration d’un
curseur
DECLARE nom du curseur CURSOR FOR
commande SELECT
Pour traduire notre intention de modifier les données dans une
table, nous définissons un CURSEUR par l'instruction suivante :
DECLARE nom du curseur CURSOR FOR
commande SELECT FOR
UPDATE OF champ [,champ]
Dans cette approche, le traitement d'une table se fait
enregistrement par enregistrement, c'est-à-dire un tuple à la fois.
