Previous Page: Assignation de schéma  Next Page: Utilisation du langage SQL dans des événements XML

Table de consignation des événements

C'est dans la table de consignation des événements que les événements du canal Éditeur sont stockés. Cette section décrit la structure et les limites de cette table.

Vous pouvez personnaliser le nom de la table de consignation des événements et ses colonnes, afin d'éviter des conflits avec les identificateurs de base de données réservés. L'ordre, le nombre et les types de données de ses colonnes doivent cependant rester constants.


Colonnes de la table de consignation des événements


Types d'événement

Cette section décrit de façon plus détaillée les différents types d'événements et leur interprétation par l'objet Éditeur.

Le tableau ci-dessous présente la corrélation de base entre les types d'événements du canal Éditeur et le code XML généré par l'objet Éditeur.

Type d'événement XML résultant

insertion

<add>

mise à jour

<modify>

suppression

<delete>

L'exemple ci-dessous illustre le code XML généré par l'objet Éditeur pour chaque type possible des événements consignés dans la table EMP.

CREATE TABLE EMP
(
     EMPNO NUMERIC(8) NOT NULL,
    FNAME VARCHAR2(64),
    PHOTO LONGRAW,

    CONSTRAINT PK_EMPNO PRIMARY KEY (EMPNO)   
);


Tableau 3. Contenu initial d'EMP

EMPNO FNAME LNAME PHOTO

1

Jacques

Untel

0xAAAA


Tableau 4. Contenu actuel d'EMP

EMPNO FNAME LNAME PHOTO

1

Jean

Untel

0xAAAA

  1. Insertion de champ


    Tableau 5. Contenu de la table EVENTLOG

    EVENT_TYPE TABLE TABLE_KEY COLUMN_NAME OLD_VALUE NEW_VALUE

    1

    EMP

    EMPNO=1

    FNAME

    NULL

    Jacques

    <add class-name="EMP">
        <association>EMPNO=1,table=EMP</association>
        <add-attr attr-name="FNAME">
            <value type="string">Jack</value>
        </add-attr>
    </add>

  2. Mise à jour de champ


    Tableau 6. Contenu de la table EVENTLOG

    EVENT_TYPE TABLE TABLE_KEY COLUMN_NAME OLD_VALUE NEW_VALUE

    2

    EMP

    EMPNO=1

    FNAME

    Jacques

    Jean

    <modify class-name="EMP">
        <association>EMPNO=1,table=EMP</association>
        <modify-attr attr-name="FNAME">
            <remove-value>
                <value type="string">Jack</value>
            </remove-value>
            <add-value>
                <value type="string">John</value>
            </add-value>
        </modify-attr>
    </modify>

  3. Mise à jour de champ (avec suppression de toutes les valeurs)


    Tableau 7. Contenu de la table EVENTLOG

    EVENT_TYPE TABLE TABLE_KEY COLUMN_NAME OLD_VALUE NEW_VALUE

    3

    EMP

    EMPNO=1

    FNAME

    Jacques

    Jean

    <modify class-name="EMP">
        <association>EMPNO=1,table=EMP</association>
        <modify-attr attr-name="FNAME">
            <remove-all-values/>
            <add-value>
                <value type="string">John</value>
            </add-value>
        </modify-attr>
    </modify>

  4. Suppression de ligne


    Tableau 8. Contenu de la table EVENTLOG

    EVENT_TYPE TABLE TABLE_KEY COLUMN_NAME OLD_VALUE NEW_VALUE

    4

    EMP

    EMPNO=1

    NULL

    NULL

    NULL

    <delete class-name="EMP">
        <association>EMPNO=1,table=EMP</association>     
    </delete>

  5. Insertion de ligne (avec retour d'interrogation)


    Tableau 9. Contenu de la table EVENTLOG

    EVENT_TYPE TABLE TABLE_KEY COLUMN_NAME OLD_VALUE NEW_VALUE

    5

    EMP

    EMPNO=1

    NULL

    NULL

    NULL

    <add class-name="EMP">
        <association>EMPNO=1,table=EMP</association>
        <add-attr attr-name="FNAME">
            <value type="string">John</value>
        </add-attr>
        <add-attr attr-name="LNAME">
            <value type="string">Doe</value>
        </add-attr>
        <add-attr attr-name="PHOTO">
            <value type="octet">qqo=</value>

        </add-attr>
    </add>

  6. Mise à jour de ligne (avec retour d'interrogation)


    Tableau 10. Contenu de la table EVENTLOG

    EVENT_TYPE TABLE TABLE_KEY COLUMN_NAME OLD_VALUE NEW_VALUE

    6

    EMP

    EMPNO=1

    NULL

    NULL

    NULL

    <modify class-name="EMP">
        <association>EMPNO=1,table=EMP</association>
        <modify-attr attr-name="FNAME">
            <remove-all-values/>
            <add-value>
                <value type="string">John</value>
            </add-value>
        </modify-attr>
        <modify-attr attr-name="LNAME">
            <remove-all-values/>
            <add-value>
                <value type="string">Doe</value>
            </add-value>
        </modify-attr>
        <modify-attr attr-name="PHOTO">
            <remove-all-values/>
            <add-value>
                <value type="octet">qqo=</value>
            </add-value>
        </modify-attr>
    </modify>

  7. Insertion de champ (avec retour d'interrogation)


    Tableau 11. Contenu de la table EVENTLOG

    EVENT_TYPE TABLE TABLE_KEY COLUMN_NAME OLD_VALUE NEW_VALUE

    7

    EMP

    EMPNO=1

    PHOTO

    NULL

    NULL

    <add class-name="EMP">
        <association>EMPNO=1,table=EMP</association>
        <add-attr attr-name="PHOTO">
            <value type="octet">qqo=</value>
        </add-attr>
    </add>

  8. Mise à jour de champ (avec retour d'interrogation)


    Tableau 12. Contenu de la table EVENTLOG

    EVENT_TYPE TABLE TABLE_KEY COLUMN_NAME OLD_VALUE NEW_VALUE

    8

    EMP

    EMPNO=1

    PHOTO

    NULL

    NULL

    <modify class-name="EMP">
        <association>EMPNO=1,table=EMP</association>
        <modify-attr attr-name="PHOTO">
            <remove-all-values/>
           <add-value>
                <value type="octet">qqo=</value>
            </add-value>
        </modify-attr>
    </modify>



  Previous Page: Assignation de schéma  Next Page: Utilisation du langage SQL dans des événements XML