次の方法で共有


SQL とスクリプトを使用したデータベース クエリの例

スクリプト駆動型データベース クエリの使用例は、Windows Installer Software Development Kit (SDK) でユーティリティ WiRunSQL.vbs として提供されています。 このユーティリティは、「SQL 構文の 」セクションで説明されている SQL の Windows インストーラー バージョン使用してデータベース クエリを処理します。

テーブル からレコードを削除する

次のコマンド ラインは、Test.msi データベースの Feature テーブルから、主キー RED を持つレコードを削除します。

Cscript WiRunSQL.vbs Test.msi "DELETE FROM 'Feature' WHERE 'Feature'.'Feature'='RED'"

データベース にテーブルを追加する

次のコマンド ラインは、Test.msi データベースに Directory テーブルを追加します。

CScript WiRunSQL.vbs Test.msi "CREATE TABLE 'Directory' ('Directory' CHAR(72) NOT NULL, 'Directory_Parent' CHAR(72), 'DefaultDir' CHAR(255) NOT NULL LOCALIZABLE PRIMARY KEY 'Directory')"

データベース からテーブルを削除する

次のコマンド ラインは、Test.msi データベースから Feature テーブルを削除します。

Cscript WiRunSQL.vbs Test.msi "DROP TABLE 'Feature'"

テーブル に新しい列を追加する

次のコマンド ラインは、Test.msi データベースの CustomAction テーブルに Test 列を追加します。

CScript WiRunSQL.vbs Test.msi "ALTER TABLE 'CustomAction' ADD 'Test' INTEGER"

テーブルに新しいレコードを挿入

次のコマンド ラインは、Test.msi データベースの Feature テーブルに新しいレコードを挿入します。

Cscript WiRunSQL.vbs Test.msi "INSERT INTO 'Feature' ('Feature'.'Feature','Feature'.'Feature_Parent','Feature'.'Title','Feature'.'Description', 'Feature'.'Display','Feature'.'Level','Feature'.'Directory_','Feature'.'Attributes') VALUES ('Tennis','Sport','Tennis','Tournament',25,3,'SPORTDIR',2)"

これにより、次のレコードが Test.msiの Feature テーブルに挿入されます。

フィーチャ テーブルの

特徴 Feature_Parent タイトル 形容 陳列 レベル ディレクトリ_ 属性
テニス スポーツ テニス トーナメント 25 3 SPORTDIR 2

 

INSERT INTO または UPDATE SQL クエリを使用して、バイナリ データをテーブルに直接挿入することはできません。 詳細については、「SQL を使用したテーブルへのバイナリ データの追加」を参照してください。

テーブル 内の既存のレコードを変更する

次のコマンド ラインは、[タイトル] フィールドの既存の値を "パフォーマンス" に変更します。更新されたレコードは、主キーとして "Arts" を持ち、Test.msi データベースの Feature テーブルにあります。

Cscript WiRunSQL.vbs Test.msi "UPDATE 'Feature' SET 'Feature'.'Title'='Performances' WHERE 'Feature'.'Feature'='Arts'"

レコードのグループを選択

次のコマンド ラインでは、Test.msi データベースの ErrorDialog に属するすべてのコントロールの名前と種類を選択します。

CScript WiRunSQL.vbs Test.msi "SELECT 'Control', 'Type' FROM 'Control' WHERE 'Dialog_'='ErrorDialog' "

テーブルをメモリ に保持する

次のコマンド ラインは、メモリ内の Test.msi データベースの コンポーネント テーブルをロックします。

CScript WiRunSQL.vbs Test.msi "ALTER TABLE 'Component' HOLD"

メモリ 内のテーブルを解放する

次のコマンド ラインは、Test.msi データベースの コンポーネント テーブルをメモリから解放します。

CScript WiRunSQL.vbs Test.msi "ALTER TABLE 'Component' FREE"