Effacement de structures jointes

Dans cette section :

Comment :

Vous pouvez effacer des structures de jointures particulières ou toutes les structures existantes. L'effacement désactive les jointures désignées. Si vous effacez une jointure conditionnelle, toutes les jointures appliquées par la suite à cette jointure en utilisant le même fichier hôte sont aussi effacées.

Conseil : si vous souhaitez lister les jointures actuelles avant de les effacer ou afficher des détails sur toutes les structures jointures actives, lancez la commande d'interrogation ? JOIN. Pour plus de détails et des illustrations, consultez Lister des structures jointes.


Haut de page

x
Syntaxe : Désactiver une jointure

Pour effacer une structure jointe, lancez la commande :

JOIN CLEAR {joinname|*}

où :

joinname
Est le nom AS de la structure jointe que vous souhaitez effacer.
*
efface toutes les structures jointes.

Haut de page

x
Effacement d'une jointure conditionnelle

Vous pouvez effacer une jointure à l'aide de la commande JOIN CLEAR. L'effet de la commande JOIN CLEAR varie selon qu'il existe des jointures conditionnelles.

Remarque : le contexte nul est la contexte de la source de données avant le lancement de jointures.



Exemple : Effacement de jointures

La requête suivante crée trois jointures qui utilisent VIDEOTRK comme source de données hôte. Les deux premières jointures sont conditionnelles (JW1, JW2), et la troisième jointure est non conditionnelle (J1) :

JOIN FILE VIDEOTRK AT PRODCODE TO ALL
     FILE GGSALES  AT PCD AS JW1
WHERE PRODCODE NE PCD;
END
JOIN  FILE VIDEOTRK AT TRANSDATE TO ALL
      FILE MOVIES   AT RELDATE   AS JW2
WHERE (TRANSDATE - RELDATE)/365 GT 10;
END
JOIN MOVIECODE IN VIDEOTRK TO MOVIECODE IN MOVIES AS J1

La prochaine requête crée une jointure conditionnelle (JW3) qui utilise MOVIES comme source de données hôte :

JOIN  FILE MOVIES   AT MOVIECODE TO ONE
      FILE VIDEOTRK AT TRANSDATE AS JW3
WHERE (TRANSDATE - RELDATE)/365 LT 2;
END

La dernière requête crée une troisième jointure conditionnelle (JW4) qui utilise VIDEOTRK comme source de données hôte :

JOIN  FILE VIDEOTRK AT LASTNAME  TO ALL
      FILE EMPLOYEE AT LAST_NAME AS JW4
WHERE LASTNAME GE LAST_NAME;
END

Voici la sortie de l'interrogation JOIN après l'exécution de ces jointures :

? JOIN
 JOINS CURRENTLY ACTIVE
 
HOST                           CROSSREFERENCE
FIELD       FILE     TAG    FIELD       FILE      TAG   AS      ALL  WH
-----       ----     ---    -----       ----      ---   --      ---  --
PRODCODE    VIDEOTRK        PCD         GGSALES         JW1      Y    Y
TRANSDATE   VIDEOTRK        RELDATE     MOVIES          JW2      Y    Y
MOVIECODE   VIDEOTRK        MOVIECODE   MOVIES          J1       N    N
MOVIECODE   MOVIES          TRANSDATE   VIDEOTRK        JW3      N    Y
LASTNAME    VIDEOTRK        LAST_NAME   EMPLOYEE        JW4      Y    Y

L'effacement de JW2 efface toutes les jointures qui ont été lancées après JW2 et qui utilisent la même source de données hôte. JW1 reste parce qu'elle a été lancée avant JW2, et JW3 reste parce qu'elle utilise une source de données hôte différente :

JOIN CLEAR JW2
? JOIN
 JOINS CURRENTLY ACTIVE
 
HOST                           CROSSREFERENCE
FIELD        FILE     TAG   FIELD        FILE     TAG      AS   ALL WH
-----        ----     ---   -----        ----     ---      --   --- --
PRODCODE     VIDEOTRK       PCD          GGSALES           JW1   Y   Y
MOVIECODE    MOVIES         TRANSDATE    VIDEOTRK          JW3   N   Y


WebFOCUS