Macro .SQLXML

Représente une requête SQL/XML dans la définition d'un trigger, d'une procédure ou d'une fonction.

Vous pouvez utiliser l'un des outils suivants :
  • L'outil Insérer une macro SQL/XML affiche une boîte de sélection dans laquelle vous choisissez un élément global dans un modèle XML. Ce modèle XML doit être ouvert dans l'espace de travail, être mis en correspondance avec un MPD, et avoir le fichier d'extension SQL/XML attaché. Cliquez sur OK dans la boîte de dialogue. La macro SQLXML apparaît alors dans le code de la définition, avec le code du modèle XML (facultatif) ainsi que le code de l'élément globaL.

  • L'outil Macros, qui permet de sélectionner .SQLXML( ) dans la liste. La macro SQLXML apparaît vide dans le code de la définition. Vous devez spécifier entre les parenthèses le code d'un modèle XML (facultatif), suivi des signes :: puis du code d'un élément global. Le modèle XML dans lequel vous choisissez un élément global doit être ouvert dans l'espace de travail, mis en correspondance avec un modèle XML et avoir le fichier d'extension SQL/XML attaché.

A l'issue de la génération, la macro SQLXML est remplacée par la requête SQL/XML de l'élément global.

Syntaxe

.SQLXML(code d'un modèle XML::code d'un élément global)

Remarque : le code d'un modèle XML est facultatif.

Exemple

Dans un trigger pour la table SALARIE, la macro suivante :

.SQLXML(PersonnelSociété::SERVICE)

Génère le script de trigger suivant :

select XMLELEMENT( NAME "Service", XMLATTRIBUTES (NUMSERVICE,NOMSERVICE),
   (select XMLAGG ( XMLELEMENT( NAME "SALARIE", XMLATTRIBUTES (NUMSERVICE,IDSALARIE,PRENOM,NOM)) )
    from SALARIE 
    where NUMSERVICE = NUMSERVICE))
from SERVICE