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.