Table _TransformView

Il s’agit d’une table temporaire en lecture seule utilisée pour afficher les transformations en mode transformation. Cette table n’est jamais conservée par le programme d’installation.

Pour appeler le mode d’affichage de transformation, obtenez un descripteur et ouvrez la base de données de référence. Consultez Obtention d’un descripteur de base de données. Appelez MsiDatabaseApplyTransform avec MSITRANSFORM_ERROR_VIEWTRANSFORM. Cela empêche l’application de la transformation à la base de données et vide le contenu de la transformation dans la table _TransformView. Les données de la table sont accessibles à l’aide de requêtes SQL. Consultez Utilisation des requêtes.

La table _TransformView n’est pas effacée lorsqu’une autre transformation est appliquée. Le tableau reflète l’effet cumulatif des applications successives. Pour afficher les transformations séparément, vous devez libérer la table.

La table _TransformView contient les colonnes suivantes.

Colonne Type Clé Nullable
Table de charge de travail Identificateur O N
Colonne Texte O N
Ligne Texte O O
Données Texte N O
Actuel Texte N O

Colonne

Table

Nom d’une table de base de données modifiée.

Column

Nom d’une colonne de table modifiée, ou INSERT, DELETE, CREATE ou DROP.

Row

Liste des valeurs de clé primaire séparées par des tabulations. Les valeurs de clé primaire Null sont représentées par un espace. Une valeur Null dans cette colonne indique un changement de schéma.

Data

Données, nom d’un flux de données ou définition d’une colonne.

Current

Valeur actuelle de la base de données de référence ou numéro de colonne.

Notes

Le _TransformView est conservé en mémoire par un nombre de verrous, que vous pouvez libérer avec la commande SQL suivante.

« ALTER TABLE _TransformView FREE ».

Les données de la table sont accessibles à l’aide de requêtes SQL. Le langage SQL comporte deux divisions principales : le langage de définition de données (DDL) est utilisé pour définir tous les objets d’une base de données SQL, et le langage de manipulation de données (DML), utilisé pour sélectionner, insérer, mettre à jour et supprimer des données dans les objets définis à l’aide du DDL.

Les opérations du langage de manipulation de données sont indiquées comme suit. Le langage de manipulation de données est composé des instructions dans SQL qui manipulent, plutôt que de définir, des données.

Opération de transformation Résultat SQL
Modifier des données {table} {colonne} {ligne} {données} {valeur actuelle}
Insérer une ligne {table} "INSERT" {ligne} NULL NULL
Supprimer la ligne {table} "DELETE" {ligne} NULL NULL

Les opérations de transformation du langage de définition de données sont indiquées comme suit. Le langage de définition de données est composé des instructions SQL qui définissent, plutôt que de manipuler, des données.

Opération de transformation Résultat SQL
Add column {table} {colonne} NULL {defn} {numéro de colonne}
Ajoute une table {table} "CREATE" NULL NULL NULL
Supprimer une table {table} "DROP" NULL NULL NULL

Lorsque l’application d’une transformation ajoute cette table, le champ Data reçoit du texte qui peut être interprété comme une valeur entière de 16 bits. La valeur décrit la colonne nommée dans le champ Column. Vous pouvez comparer la valeur entière aux constantes du tableau suivant pour déterminer la définition de la colonne modifiée.

bit Description
Bits 0 7
Hexadécimal : 0x0000 0x0100
Decimal: 0 255
Largeur de colonne
Bit 8
Hexadécimal : 0x0100
Decimal: 256
Colonne persistante. Zéro signifie une colonne temporaire.
Bit 9
Hexadécimal : 0x0200
Decimal: 1023
Colonne localisable. Zéro signifie que la colonne ne peut pas être localisée.
Bits 10 11
Hexadécimal : 0x0000
Decimal: 0
Entier long
Hexadécimal : 0x0400
Decimal: 1024
Short integer
Hexadécimal : 0x0800
Decimal: 2048
Objet binaire
Hexadécimal : 0x0C00
Decimal: 3072
String
Bit 12
Hexadécimal : 0x1000
Decimal: 4096
Colonne nullable. Zéro signifie que la colonne n’est pas nullable.
Bit 13
Hexadécimal : 0x2000
Decimal: 8192
Colonne de clé primaire. Zéro signifie que cette colonne n’est pas une clé primaire.
Bits 14 15
Hexadécimal : 0x4000 0x8000
Decimal: 16384 32768
Réservé

Pour obtenir un exemple de script illustrant la table _TransformView, consultez Afficher une transformation.