_TransformView Table
これは、変換ビュー モードで変換を表示するために使用される読み取り専用の一時テーブルです。 このテーブルはインストーラーによって永続化されることはありません。
変換ビュー モードを呼び出すには、ハンドルを取得し、参照データベースを開きます。 「データベース ハンドルの取得」を参照してください。 MSITRANSFORM_ERROR_VIEWTRANSFORM を使用して MsiDatabaseApplyTransform を呼び出します。 これにより、変換がデータベースに適用されなくなり、変換の内容が_TransformView テーブルにダンプされます。 テーブル内のデータには、SQL クエリを使用してアクセスできます。 「クエリの操作」を参照してください。
別の変換が適用される場合、_TransformView テーブルはクリアされません。 次の表は、連続して適用することの累積効果を反映したものです。 変換を個別に表示するには、テーブルを解放する必要があります。
_TransformView テーブルには、次の列があります。
Column | 種類 | キー | Nullable |
---|---|---|---|
テーブル | Identifier | Y | N |
列 | テキスト | Y | N |
行 | テキスト | Y | Y |
Data | テキスト | N | Y |
Current | テキスト | N | Y |
列
-
Table
-
変更されたデータベース テーブルの名前。
-
Column
-
変更されたテーブル列または INSERT、DELETE、CREATE、または DROP の名前。
-
Row
-
主キー値のタブ区切りリスト。 Null の主キー値はスペース 1 文字で表されます。 この列の Null 値はスキーマの変更を示します。
-
Data
-
データ、データ ストリームの名前、または列の定義。
-
Current
-
参照データベースからの現在の値、または数値の列。
解説
_TransformView はロック カウントによってメモリ内に保持され、次の SQL コマンドで解放できます。
"ALTER TABLE _TransformView FREE"。
テーブル内のデータには、SQL クエリを使用してアクセスできます。 SQL 言語には、SQL データベース内のすべてのオブジェクトを定義するために使用されるデータ定義言語 (DDL) と、DDL を使用して定義されたオブジェクト内のデータの選択、挿入、更新、および削除に使用されるデータ操作言語 (DML) という 2 つの主要な区分があります。
データ操作言語 (DML) 変換操作は、次のように示されます。 データ操作言語 (DML) は、データを定義するのではなく操作する SQL ステートメントです。
変換操作 | SQL の結果 |
---|---|
データの変更 | {table} {column} {row} {data} {current value} |
行を挿入する | {table} "INSERT" {row} NULL NULL |
行を削除する | {table} "DELETE" {row} NULL NULL |
データ定義言語 (DDL) 変換操作は、次のように示されます。 データ定義言語 (DDL) は、データを操作するのではなく、定義する SQL のステートメントです。
変換操作 | SQL の結果 |
---|---|
列の追加 | {table} {column} NULL {defn} {column number} |
テーブルの追加 | {table} "CREATE" NULL NULL NULL |
テーブルの削除 | {table} "DROP" NULL NULL NULL |
変換を適用することによってこのテーブルが追加されると、16 ビット整数値として解釈できるテキストが [Data] フィールドに取り込まれます。 この値によって、[Column] フィールドに指定された列が記述されます。 整数値を次の表内の定数と比較することで、変更された列の定義を特定できます。
ビット | 説明 |
---|---|
ビット 0 7 |
16 進数: 0x0000 0x0100 10 進数: 0 255 [列幅] |
ビット 8 |
16 進数: 0x0100 10 進数: 256 永続的な列。 ゼロは一時列を意味します。 |
ビット 9 |
16 進数: 0x0200 10 進数: 1023 ローカライズ可能な列。 0 は、列をローカライズできないことを意味します。 |
ビット 10 11 |
16 進数: 0x0000 10 進数: 0 Long integer 16 進数: 0x0400 10 進数: 1024 短整数 16 進数: 0x0800 10 進数: 2048 バイナリ オブジェクト 16 進数: 0x0C00 10 進数: 3072 String |
ビット 12 |
16 進数: 0x1000 10 進数: 4096 Null 許容列。 0 は、列が Null 許容ではないことを意味します。 |
ビット 13 |
16 進数: 0x2000 10 進数: 8192 主キー列 0 は、この列が主キーではないことを意味します。 |
ビット 14 15 |
16 進数: 0x4000 0x8000 10 進数: 16384 32768 予約済み |
_TransformView テーブルを示すスクリプト サンプルについては、「変換の表示」を参照してください。