A partir de la version 23, le WLangage propose le type Requête SQL permettant la saisie de requêtes directement dans l'éditeur de code :
<Nom Requête SQL> est une Requête SQL = [ <Code SQL de la requête> ]
Une fois que la requête a été exécutée par la fonction HExécuteRequete, elle peut à son tour être utilisée dans une autre requête de sélection, ou de mise à jour. Il faut cependant savoir que le nom utilisé par le moteur HFSQL pour l'exécution réelle de la requête, n'est pas celui de la variable.
Ainsi le code suivant :
MonInterrogation est une Requête SQL = [ SELECT * FROM CLIENT ] HExécuteRequête(MonInterrogation) AutreInterrogation est une chaîne = "SELECT * FROM MonInterrogation" ReqAvecMonInterrogation est une Source dede Données HExécuteRequêteSQL(ReqAvecMonInterrogation, AutreInterrogation)
Provoque un déclenchement du mécanisme de sécurité du WLangage avec le retour "Fichier inconnu" pour le FROM :

Afin de réutiliser la requête, il faut utiliser dans le FROM son nom qui peut être obtenu par la propriété ..Nom. Le code sera alors :
MonInterrogation est une Requête SQL = [ SELECT * FROM CLIENT ] HExécuteRequête(MonInterrogation) AutreInterrogation est une chaîne = "SELECT * FROM %1" AutreInterrogation = ChaîneConstruit(AutreInterrogation, MonInterrogation..Nom) ReqAvecMonInterrogation est une Source dede Données HExécuteRequêteSQL(ReqAvecMonInterrogation, AutreInterrogation)
A noter que ce principe s'applique également aux variables de type source de données, lorsque l'option "nommage automatique des sources de données" est coché dans le volet "Compilation" de la description du projet. Elles peuvent être réutilisées dans du code SQL soit :
- en utilisant la propriété ..Nom comme ci-dessus,
- en forçant un nom dans la déclaration de la variable :
MaSource est une Source dede Données <Description=MaSource>
Grâce au nom donné en <description=...> on peut faire un FROM MaSource dans une autre requête.
|
|
< Retour
|
|
|
|
|
|