Téléchargement des produits


Version anglaise


 

Il est possible d'utiliser des instructions SQL dans les modèles de traitement batch ou interactif.

 

Chaque bloc d'instructions est délimité par des ordres L4G Adélia de début et de fin (DEBUT_SQL et FIN_SQL).

Entre ces deux ordres, sont spécifiées les lignes correspondant à une instruction SQL et une seule. Ces lignes commencent toujours par le caractère +.

 

Les instructions Adélia sont les suivantes :

 

DEBUT_SQL

Début du mode de travail sous SQL.

+ requête SQL

 

+ requête SQL

Requête SQL conforme à la syntaxe SQL.

+ requête SQL

 

FIN_SQL

Fin du mode de travail sous SQL.

 

Par exemple

DEBUT_SQL

+ DECLARE EMPLOYES CURSOR FOR

+ SELECT PCOSTE, PCOMAT, PMTSAL

+ FROM HP£PERP

+ WHERE PCOSER = :WCOSER

FIN_SQL

 

Chaque ligne de requête SQL commence par le caractère +.

La syntaxe du langage SQL n'est pas vérifiée par le système Adélia. Il faut se conformer à celle demandée par le produit SQL.

L'exploitation consécutive à l'exécution de la requête est alors à la charge du modèle qui est construit.

 

Par exemple

Soit un programme batch de calcul d'augmentation des salaires au sein du fichier du personnel (EMPLOYES).

 

RECEVOIR WCOSER PTOAUG

: initialisation du programme

WTOAUG = PTOAUG

:

*

:

DEBUT_SQL

: constitution de la lecture PAR SQL

+ DECLARE EMPLOYES CURSOR FOR

: déclaration d'un fichier de travail

+ SELECT PCOSTE,PCOMAT,PMTSAL

: nommé EMPLOYES, sélection des zones

+ FROM HP£PERP

: PCOSTE, PCOMAT, PMTSAL au sein du

+ WHERE PCOSER = :WCOSER

: fichier HP£PERP, lorsque PCOSER est

FIN_SQL

: égal au paramètre reçu WCOSER

*

: ( :WCOSER est appelé variable hôte

*

: dans le langage SQL)

*

:

DEBUT_SQL

:

+ OPEN EMPLOYES

: OUVERTURE du fichier de travail EMPLOYES

FIN_SQL

:

*

:

DEBUT_SQL

:

+ FETCH EMPLOYES

: lecture de début de boucle

+ INTO :Z_CODE_SOCIETE , :Z_CODE_MATRICUL , :Z_MONTANT_SALAI

 

: et chargement de variables hôtes

FIN_SQL

: (Variables du modèle)

*

: ADELIA vérifie que les variables

*

: hôtes existent.

*

:

TANT_QUE *SQLCODE <> 100  

: *SQLCODE est un mot réservé ADELIA

*

: qui récupère un code de travail généré par SQL

*

: Ce code s'appelle SQLCOD dans SQL.

 

: La valeur 100

*

: indique la fin de lecture

Z_MONTANT_SALAI = Z_MONTANT_SALAI + Z_MONTANT_SALAI * (WTOAUG / 100)

DEBUT_SQL

:

+ UPDATE HP£PERP

: mise à jour par SQL du montant de

+ SET PMTSAL = :Z_MONTANT_SALAI

: salaire par la variable hôte ZMTSAL

+ WHERE CURRENT OF EMPLOYES

: lorsque la clé de HP£PERP

FIN_SQL

: correspond aux zones ZCOSTE et

*

: ZCOMAT du fichier EMPLOYES

*

:

DEBUT_SQL

:

+ FETCH EMPLOYES

: relecture

+ INTO :Z_CODE_SOCIETE , :Z_CODE_MATRICUL , :Z_MONTANT_SALAI

FIN_SQL

:

*

:

REFAIRE

 

 

:

DEBUT_SQL

:

+ CLOSE EMPLOYES

: FERMETURE du fichier EMPLOYES

FIN_SQL

:

 

Toute la gestion de ce modèle est faite par SQL.

La structure algorithmique est donnée par l'analyse du travail à effectuer.

Chaque instruction SQL est délimitée par les ordres L4G DEBUT_SQL et FIN_SQL.

 

↑ Haut de page


  • Aucune étiquette