Tabelle „_TransformView“
Dies ist eine schreibgeschützte temporäre Tabelle, die zum Anzeigen von Transformationen im Transformationsansichtsmodus verwendet wird. Diese Tabelle wird vom Installationsprogramm nie beibehalten.
Um den Transformationsansichtsmodus aufzurufen, rufen Sie ein Handle ab, und öffnen Sie die Referenzdatenbank. Weitere Informationen finden Sie unter Abrufen eines Datenbankhandles. Rufen Sie MsiDatabaseApplyTransform mit MSITRANSFORM_ERROR_VIEWTRANSFORM auf. Dadurch wird verhindert, dass die Transformation auf die Datenbank angewandt wird, und der Transformationsinhalt wird in der Tabelle „_TransformView“ gespeichert. Auf die Daten in der Tabelle kann mithilfe von SQL-Abfragen zugegriffen werden. Weitere Informationen finden Sie unter Arbeiten mit Abfragen.
Die Tabelle „_TransformView“ wird nicht gelöscht, wenn eine andere Transformation angewandt wird. Die Tabelle spiegelt den kumulativen Effekt aufeinanderfolgender Anwendungen wider. Um die Transformationen separat anzuzeigen, müssen Sie die Tabelle freigeben.
Die Tabelle „_TransformView“ enthält die folgenden Spalten:
Spalte | Typ | Schlüssel | Nullwerte zulässig |
---|---|---|---|
Tabelle | Identifier | J | N |
Column | Text | J | N |
Zeile | Text | J | J |
Daten | Text | N | J |
Aktuell | Text | N | J |
Column
-
Table
-
Name einer geänderten Datenbanktabelle.
-
Column
-
Name einer geänderten Tabellenspalte oder „INSERT“, „DELETE“, „CREATE“ oder „DROP“.
-
Row
-
Eine durch Tabstopps getrennte Liste der Primärschlüsselwerte. NULL-Primärschlüsselwerte werden durch ein einzelnes Leerzeichen dargestellt. Ein NULL-Wert in dieser Spalte gibt eine Schemaänderung an.
-
Data
-
Daten, der Name eines Datenstroms oder eine Spaltendefinition.
-
Current
-
Aktueller Wert aus der Referenzdatenbank oder Zahl in Spalte A.
Bemerkungen
„_TransformView“ wird durch eine Sperrenanzahl im Arbeitsspeicher gehalten und kann mit dem folgenden SQL-Befehl freigegeben werden.
„ALTER TABLE _TransformView FREE“.
Auf die Daten in der Tabelle kann mithilfe von SQL-Abfragen zugegriffen werden. Die SQL-Sprache ist in zwei Hauptgruppen unterteilt: die Data Definition Language (DDL) zum Definieren aller Objekte in einer SQL-Datenbank und die Data Manipulation Language (DML) zum Auswählen, Einfügen, Aktualisieren und Löschen von Daten in den per DDL definierten Objekten.
Die Transformationsvorgänge der Data Manipulation Language (DML) sind wie folgt angegeben. Data Manipulation Language (DML) bezeichnet Anweisungen in SQL, die Daten bearbeiten und nicht definieren.
Transformationsvorgang | SQL-Ergebnis |
---|---|
Ändern von Daten | {Tabelle} {Spalte} {Zeile} {Daten} {aktueller Wert} |
Zeile einfügen | {Tabelle} INSERT {Zeile} NULL NULL |
Zeile löschen | {Tabelle} DELETE {Zeile} NULL NULL |
Die Transformationsvorgänge der Data Definition Language (DDL) sind im Folgenden angegeben. Data Definition Language (DDL) bezeichnet Anweisungen in SQL, die Daten definieren und nicht bearbeiten.
Transformationsvorgang | SQL-Ergebnis |
---|---|
Hinzufügen einer Spalte | {Tabelle} {Spalte} NULL {Definition} {Spaltennummer} |
Tabelle hinzufügen | {Tabelle} CREATE NULL NULL NULL |
Löschen einer Tabelle | {Tabelle} DROP NULL NULL NULL |
Wenn die Anwendung einer Transformation diese Tabelle hinzufügt, empfängt das Feld „Data“ Text, der als 16-Bit-Integerwert interpretiert werden kann. Der Wert beschreibt die Spalte, die im Feld „Column“ angegeben ist. Sie können den Integerwert mit den Konstanten in der folgenden Tabelle vergleichen, um die Definition der geänderten Spalte zu ermitteln.
bit | BESCHREIBUNG |
---|---|
Bits 0 – 7 |
Hexadezimal: 0x0000 – 0x0100 Dezimal: 0 – 255 Spaltenbreite |
Bit 8 |
Hexadezimal: 0x0100 Dezimal: 256 Eine persistente Spalte. Null (0) bedeutet eine temporäre Spalte. |
Bit 9 |
Hexadezimal: 0x0200 Dezimal: 1.023 Eine lokalisierbare Spalte. Null (0) bedeutet, dass die Spalte nicht lokalisiert werden kann. |
Bits 10 – 11 |
Hexadezimal: 0x0000 Dezimal: 0 Lange ganze Zahl Hexadezimal: 0x0400 Dezimal: 1.024 Short Integer Hexadezimal: 0x0800 Dezimal: 2.048 Binäres Objekt Hexadezimal: 0x0C00 Dezimal: 3.072 String |
Bit 12 |
Hexadezimal: 0x1000 Dezimal: 4.096 Spalte, die NULL-Werte zulässt. Null (0) bedeutet, dass die Spalte keine NULL-Werte zulässt. |
Bit 13 |
Hexadezimal: 0x2000 Dezimal: 8.192 Primärschlüsselspalte. Null (0) bedeutet, dass diese Spalte kein Primärschlüssel ist. |
Bits 14 – 15 |
Hexadezimal: 0x4000 – 0x8000 Dezimal: 16.384 – 32.768 Reserviert |
Ein Skriptbeispiel, das die Tabelle „_TransformView“ veranschaulicht, finden Sie unter Anzeigen einer Transformation.