Sdílet prostřednictvím


tabulka _TransformView

Jedná se o dočasnou tabulku určenou jen pro čtení, která slouží k zobrazení transformací pomocí režimu zobrazení transformace. Instalační program tuto tabulku nikdy neuchovává.

Pokud chcete vyvolat režim zobrazení transformace, získejte popisovač a otevřete referenční databázi. Viz Získání popisovače databáze. Volání MsiDatabaseApplyTransform pomocí MSITRANSFORM_ERROR_VIEWTRANSFORM. Tím se zastaví použití transformace na databázi a vypíše obsah transformace do tabulky _TransformView. K datům v tabulce je možné přistupovat pomocí dotazů SQL. Viz Práce s dotazy.

Tabulka _TransformView není při použití jiné transformace vymazána. Tabulka odráží kumulativní účinek po sobě jdoucích aplikací. Pokud chcete zobrazit transformace samostatně, musíte tabulku uvolnit.

Tabulka _TransformView obsahuje následující sloupce.

Sloupec Typ Klíč Nullable
Stůl identifikátor Y N
Sloupec textové Y N
Veslovat textové Y Y
Data textové N Y
Současný textové N Y

Sloupec

tabulka

Název změněné databázové tabulky

sloupec

Název upraveného sloupce tabulky nebo INSERT, DELETE, CREATE nebo DROP.

řádek

Seznam hodnot primárního klíče oddělených kartami Hodnoty primárního klíče null jsou reprezentovány jedním znakem mezery. Hodnota Null v tomto sloupci označuje změnu schématu.

data

Data, název datového proudu nebo definice sloupce

aktuální

Aktuální hodnota z referenční databáze nebo sloupce číslo

Poznámky

_TransformView se uchovává v paměti počtem zámků, které lze uvolnit pomocí následujícího příkazu SQL.

"ALTER TABLE _TransformView FREE".

K datům v tabulce je možné přistupovat pomocí dotazů SQL. Jazyk SQL má dvě hlavní dělení: DDL (Data Definition Language), která slouží k definování všech objektů v databázi SQL a jazyk DML (Data Manipulat Language), která slouží k výběru, vkládání, aktualizaci a odstraňování dat v objektech definovaných pomocí DDL.

Transformační operace jazyka DML (Data Manipulat Language) jsou uvedeny následujícím způsobem. Jazyk DML (Data Manipulation Language) jsou tyto příkazy v SQL, které manipulují s daty, a nikoli definují data.

Operace transformace Výsledek SQL
Úprava dat {table} {column} {row} {data} {current value}
Vložit řádek {table} "INSERT" {row} NULL NULL
Odstranit řádek {table} "DELETE" {row} NULL NULL

Transformační operace jazyka DDL (Data Definition Language) jsou uvedeny následujícím způsobem. Jazyk DDL (Data Definition Language) jsou tyto příkazy v SQL, které definují data, na rozdíl od manipulace s daty.

Operace transformace Výsledek SQL
Přidat sloupec {table} {column} NULL {defn} {column number}
Přidání tabulky {table} "CREATE" NULL NULL NULL
Drop table {table} "DROP" NULL NULL NULL

Když aplikace transformace přidá tuto tabulku, pole Data obdrží text, který lze interpretovat jako 16bitovou celočíselnou hodnotu. Hodnota popisuje sloupec pojmenovaný v poli Sloupec. Celočíselná hodnota můžete porovnat s konstantami v následující tabulce a určit definici upraveného sloupce.

Bit Popis
Bits 0 7
Šestnáctkové: 0x0000 0x0100
Desetinné číslo: 0 255
Šířka sloupce
bit 8
Šestnáctkové: 0x0100
Desetinné číslo: 256
Trvalý sloupec. Nula znamená dočasný sloupec.
Bit 9
Šestnáctkové: 0x0200
Desetinné číslo: 1023
Lokalizovatelný sloupec. Nula znamená, že sloupec nelze lokalizovat.
bitů 10 11
Šestnáctkové: 0x0000
Desetinné číslo: 0
Dlouhé celé číslo
Šestnáctkové: 0x0400
Desetinné číslo: 1024
Krátké celé číslo
Šestnáctkové: 0x0800
Desetinné číslo: 2048
Binární objekt
Šestnáctkové: 0x0C00
Desetinné číslo: 3072
Řetězec
bit 12
Šestnáctkové: 0x1000
Desetinné číslo: 4096
Sloupec s možnou hodnotou null. Nula znamená, že sloupec není nullable.
bit 13
Šestnáctkové: 0x2000
Desetinné číslo: 8192
Sloupec primárního klíče Nula znamená, že tento sloupec není primárním klíčem.
bitů 14 15
Šestnáctkové: 0x4000 0x8000
Desetinné číslo: 16384 32768
Rezervovaný

Ukázkový skript, který ukazuje tabulku _TransformView, naleznete v tématu Zobrazenítransformace .