TABLE pour la réplication
Durée de validité
Réplication
Description
Utilisez le paramètre TABLE dans un fichier de paramètres de réplication pour indiquer les règles de filtrage qui qualifient un enregistrement de données de la trace d'admissibilité à une action d'événement indiquée avec EVENTACTIONS.
Cette forme d'instruction TABLE est similaire à celle de l'instruction Replicat MAP, sauf que la table source de l'enregistrement de données n'est pas mise en correspondance avec une table cible au moyen d'une clause TARGET. TABLE pour le processus Replicat est uniquement un moyen de déclencher une action autre que de données que le processus Replicat doit effectuer lorsqu'il rencontre un enregistrement d'événement. Si le processus Replicat est en mode coordonné, toutes les actions sont traitées via le thread avec le thread le plus bas ID.
Etant donné qu'aucune table cible n'est fournie, les conditions suivantes s'appliquent :
-
Aucune option n'est disponible pour permettre au processus Replicat de mettre en correspondance des noms de table ou des colonnes avec une table cible, ni pour permettre au processus Replicat de manipuler les données.
-
Le paramètre
ASSUMETARGETDEFSne peut pas être utilisé dans le même fichier de paramètres qu'une instructionTABLEde réplication, carASSUMETARGETDEFSrequiert les noms des tables cible afin que le processus Replicat puisse interroger les définitions de table. Vous devez créer un fichier de définitions source pour fournir les définitions des tables source au processus Replicat. Transférez ce fichier vers le système cible et utilisez le paramètreSOURCEDEFSdans le fichier de paramètres de réplication pour indiquer le nom de chemin du fichier. -
L'enregistrement d'événement lui-même n'est pas appliqué à la base de données cible par Replicat. Vous devez indiquer
IGNOREouDISCARDcomme l'une des optionsEVENTACTIONS.
Syntaxe
Reportez-vous à "TABLE | MAP" pour une description des options de syntaxe suivantes.
TABLE <table_spec>,
[, SQLEXEC (<SQL_specification>), BEFOREFILTER]
[, FILTER (<filter_clause>)]
[, WHERE (<where_clause>)]
{, EVENTACTIONS ({IGNORE | DISCARD} [<action>])}
;
Exemple
L'exemple suivant active la fonction de trace Replicat pour une transaction de commande contenant une opération d'insertion pour un numéro de commande spécifique (order_no = 1). Les informations de trace sont écrites dans le fichier trace order_1.trc. Le paramètre MAP indique le mapping de la table source avec la table cible.
MAP sales.order, TARGET rpt.order;
TABLE sales.order,
FILTER (@GETENV ('GGHEADER', 'OPTYPE') = 'INSERT' AND @STREQ (order_no, 1), &
EVENTACTIONS (TRACE order_1.trc TRANSACTION);