Téléchargement des produits


Version anglaise


 

      

VADELIA

SADELIA

WADELIA

EADELIA


(I/B) (S)

(B) (S)

(I/B) (S)

(B) (S)


Paragraphe d'utilisation

Tous


Syntaxe

EXEC_SQL (RequêteSQL)

EXEC_SQL (RequêteDyn)

RequêteDyn

:VarRequête | :InstructionSQL


Description

Cet ordre exécute une requête SQL RequêteSQL (écrite avec la syntaxe de SQL).


L'utilisation des variables hôtes est possible grâce au " : " devant le mot directeur de la variable.


Le paramètre RequêteDyn est soit une variable alphanumérique soit une instruction SQL déclarée au préalable via l'ordre INSTRUCTION_SQL, contenant une requête SQL de type non-sélection, exécutable dynamiquement ; voir la documentation SQL correspondante.


Lorsque la requête porte sur une base de données SQL micro, il faut qualifier le nom de la table par son schéma. Si l'on indique les caractères $$. devant le nom de la table à la place du schéma, Adélia enlève la qualification pour les accès aux tables SQL AS/400, et remplace les caractères $$. par le schéma défini au niveau des attributs de l'environnement si la table correspond à une entité logique publique, sinon par le schéma défini dans le niveau logique du domaine.


Attention : dans la requête SQL, il faut indiquer le nom réel des colonnes et des tables et non les noms Adélia (sauf pour les variables hôtes où l'on indique le mot directeur Adélia).


Pour les programmes VADELIA et SADELIA, il est possible de s'assurer que l'enregistrement n'est pas verrouillé en le testant à l'aide du mot réservé *BLOQUE.


Après exécution de l'ordre, il est possible de tester le code retour SQL à l'aide du mot réservé *SQLCODE.


Par exemple

EXEC_SQL (select CADCLI,CVILCL into :ZADRESSE_CLIENT,:ZVILLE_CLIENT from $$.CLIENTP where CCOCLI = :ZCODE_CLIENT)


EXEC_SQL (select MAX(CNUAVE) into :NumMaxAve from $$.contra where CNUCON = :ZCNUM_CON)

* L'exécution de cette requête SQL a pour but de rechercher le maximum parmi les

* numéros d'avenants d'un contrat ; le résultat est récupéré dans la variable

* NumMaxAve.


Autre exemple d'utilisation


WREQUETE = 'DROP TABLE schema.matable'

EXEC_SQL (:WREQUETE)


Autre exemple d'utilisation


** Définition et parcours d'un curseur pour obtenir la somme d'un chiffre

** d'affaire par ville à partir d'un fichier client

EXEC_SQL (declare curs1 cursor for select cl_ville, sum(cl_chiff_aff) from $$.client group by cl_ville)

EXEC_SQL (open curs1)

*

EXEC_SQL (fetch curs1 into :CBUR_DIS_CLI, :WTOT_BURDIS)

tant_que *sqlcode = *normal

  ...

  EXEC_SQL (fetch curs1 into :CBUR_DIS_CLI, :WTOT_BURDIS)

refaire

*

EXEC_SQL (close curs1)


↑ Haut de page

  • Aucune étiquette