Tabela _TransformView
Esta é uma tabela temporária somente leitura usada para exibir transformações com o modo de exibição de transformação. Esta tabela nunca é persistida pelo instalador.
Para invocar o modo de exibição de transformação, obtenha um identificador e abra o banco de dados de referência. Confira Como obter um identificador de banco de dados. Chame MsiDatabaseApplyTransform com MSITRANSFORM_ERROR_VIEWTRANSFORM. Isso impede que a transformação seja aplicada ao banco de dados e despeja o conteúdo da transformação na tabela _TransformView. Os dados na tabela podem ser acessados usando consultas SQL. Confira Como trabalhar com consultas.
A tabela _TransformView não será limpa quando outra transformação for aplicada. A tabela reflete o efeito cumulativo de aplicativos sucessivos. Para exibir as transformações separadamente, você deve liberar a tabela.
A tabela _TransformView tem as colunas a seguir.
Coluna | Tipo | Chave | Nullable |
---|---|---|---|
Tabela | Identificador | S | N |
Coluna | Texto | S | N |
Linha | Texto | S | S |
Dados | Texto | N | S |
Current | Texto | N | S |
Coluna
-
Table
-
Nome de uma tabela de banco de dados alterada.
-
Column
-
Nome de uma coluna de tabela alterada ou INSERT, DELETE, CREATE ou DROP.
-
Row
-
Uma lista dos valores de chave primária separados por tabulações. Os valores nulos de chave primária são representados por um caractere de espaço. Um valor Null nessa coluna indica uma alteração de esquema.
-
Data
-
Dados, nome de um fluxo de dados ou uma definição de coluna.
-
Current
-
Valor atual do banco de dados de referência ou um número de coluna.
Comentários
O _TransformView é mantido na memória por uma contagem de bloqueios, que pode ser liberada com o comando SQL a seguir.
"ALTER TABLE _TransformView FREE".
Os dados na tabela podem ser acessados usando consultas SQL. A linguagem SQL tem duas divisões de main: DDL (Linguagem de Definição de Dados) que é usada para definir todos os objetos em um banco de dados SQL e DML (Linguagem de Manipulação de Dados) que é usada para selecionar, inserir, atualizar e excluir dados nos objetos definidos usando DDL.
As operações de transformação da DML (Linguagem de Manipulação de Dados) são indicadas da seguinte maneira. A DML (Linguagem de Manipulação de Dados) consiste em instruções no SQL que manipulam, em vez de definir os dados.
Operação de transformação | Resultado do SQL |
---|---|
Modificar dados | {table} {column} {row} {data} {current value} |
Inserir linha | {table} "INSERT" {row} NULL NULL |
Excluir linha | {table} "DELETE" {row} NULL NULL |
As operações de transformação da DDL (Linguagem de Definição de Dados) são indicadas da seguinte maneira. A DDL (Linguagem de Definição de Dados) consiste em instruções no SQL que definem, em vez de manipular os dados.
Operação de transformação | Resultado do SQL |
---|---|
Adicionar coluna | {table} {column} NULL {defn} {column number} |
Adicionar tabela | {table} "CREATE" NULL NULL NULL |
Remover tabela | {table} "DROP" NULL NULL NULL |
Quando a aplicação de uma transformação adiciona essa tabela, o campo Data recebe o texto que pode ser interpretado como um valor inteiro de 16 bits. O valor descreve a coluna chamada no campo Column. Você pode comparar o valor inteiro com as constantes na tabela a seguir para determinar a definição da coluna alterada.
bit | Descrição |
---|---|
Bits 0 7 |
Hexadecimal: 0x0000 0x0100 Decimal: 0 255 Largura da Coluna |
Bit 8 |
Hexadecimal: 0x0100 Decimal: 256 Uma coluna persistente. Zero significa uma coluna temporária. |
Bit 9 |
Hexadecimal: 0x0200 Decimal: 1023 Uma coluna localizável. Zero significa que a coluna não pode ser localizada. |
Bits 10 11 |
Hexadecimal: 0x0000 Decimal: 0 Long integer Hexadecimal: 0x0400 Decimal: 1024 Inteiro curto Hexadecimal: 0x0800 Decimal: 2048 Objeto binário Hexadecimal: 0x0C00 Decimal: 3072 String |
Bit 12 |
Hexadecimal: 0x1000 Decimal: 4096 Coluna anulável. Zero significa que a coluna não é anulável. |
Bit 13 |
Hexadecimal: 0x2000 Decimal: 8192 Coluna de chave primária. Zero significa que essa coluna não é uma chave primária. |
Bits 14 15 |
Hexadecimal: 0x4000 0x8000 Decimal: 16384 32768 Reservado |
Para obter um exemplo de script que demonstra a tabela _TransformView, confira Exibir uma transformação.