Tabla _TransformView

Se trata de una tabla temporal de solo lectura que se usa para ver las transformaciones con el modo de vista de transformación. El instalador nunca conserva esta tabla.

Para invocar el modo de vista de transformación, obtenga un identificador y abra la base de datos de referencia. Consulte Obtención de un identificador de base de datos. Llame a MsiDatabaseApplyTransform con MSITRANSFORM_ERROR_VIEWTRANSFORM. Esto impide que la transformación se aplique a la base de datos y vuelca el contenido de la transformación en la tabla _TransformView. Se puede acceder a los datos de la tabla mediante consultas SQL. Consulte Trabajar con consultas.

La tabla _TransformView no se borra cuando se aplica otra transformación. La tabla refleja el efecto acumulativo de las aplicaciones sucesivas. Para ver las transformaciones por separado, debe liberar la tabla.

La tabla _TransformView tiene las columnas siguientes.

Columna Tipo Clave Nullable
Tabla Identificador Y No
Columna Texto Y No
Fila Texto Y Y
data Texto No Y
Current Texto No Y

Columna

Table

Nombre de una tabla de base de datos modificada.

Column

Nombre de una columna de tabla modificada o bien INSERT, DELETE, CREATE o DROP.

Row

Lista de los valores de clave principal separados por tabulaciones. Los valores de clave principal NULL se representan mediante un carácter de un solo espacio. Un valor NULL en esta columna indica un cambio de esquema.

Data

Datos, nombre de un flujo de datos o una definición de columna.

Current

Valor actual de la base de datos de referencia o número de una columna.

Comentarios

La tabla _TransformView se mantiene en la memoria mediante un recuento de bloqueos, que se puede liberar con el siguiente comando SQL.

"ALTER TABLE _TransformView FREE".

Se puede acceder a los datos de la tabla mediante consultas SQL. El lenguaje SQL tiene dos divisiones principales: el lenguaje de definición de datos (DDL), que se usa para definir todos los objetos de una base de datos SQL, y el lenguaje de manipulación de datos (DML), que se usa para seleccionar, insertar, actualizar y eliminar datos en los objetos definidos mediante DDL.

Las operaciones de transformación del lenguaje de manipulación de datos (DML) se indican de la siguiente manera. El lenguaje de manipulación de datos (DML) son las instrucciones de SQL que manipulan, en lugar de definir, los datos.

Operación de transformación Resultado de SQL
Modificar datos {table} {column} {row} {data} {valor actual}
Insertar fila {table} "INSERT" {row} NULL NULL
Eliminar fila {table} "DELETE" {row} NULL NULL

Las operaciones de transformación del lenguaje de definición de datos (DDL) se indican de la siguiente manera. El lenguaje de definición de datos (DDL) son las instrucciones de SQL que definen, en lugar de manipular, los datos.

Operación de transformación Resultado de SQL
Agregar columna {table} {column} NULL {defn} {número de columna}
Agregar tabla {table} "CREATE" NULL NULL NULL
Quitar tabla {table} "DROP" NULL NULL NULL

Cuando la aplicación de una transformación agrega esta tabla, el campo Data recibe texto que se puede interpretar como un valor entero de 16 bits. El valor describe la columna denominada en el campo Column. Puede comparar el valor entero con las constantes de la tabla siguiente para determinar la definición de la columna modificada.

bit Descripción
Bits 0 7
Hexadecimal: 0x0000 0x0100
Decimal: 0 255
Ancho de columna
Bit 8
Hexadecimal: 0x0100
Decimal: 256
Una columna persistente. Cero significa una columna temporal.
Bit 9
Hexadecimal: 0x0200
Decimal: 1023
Una columna localizable. Cero significa que la columna no se puede localizar.
Bits 10 11
Hexadecimal: 0x0000
Decimal: 0
Entero largo
Hexadecimal: 0x0400
Decimal: 1024
Entero corto
Hexadecimal: 0x0800
Decimal: 2048
Objeto binario
Hexadecimal: 0x0C00
Decimal: 3072
String
Bit 12
Hexadecimal: 0x1000
Decimal: 4096
Columna que acepta valores NULL. Cero significa que la columna no acepta valores NULL.
Bit 13
Hexadecimal: 0x2000
Decimal: 8192
Columna de clave principal. Cero significa que esta columna no es una clave principal.
Bits 14 15
Hexadecimal: 0x4000 0x8000
Decimal: 16384 32768
Reservado

Para obtener un ejemplo de script que muestre la tabla _TransformView, consulte Ver una transformación.