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.