使用 SQL 和腳本的資料庫查詢範例

Windows Installer 軟體發展工具組 (SDK) 提供腳本驅動資料庫查詢的範例,作為公用程式WiRunSQL.vbs。 此公用程式會使用 SQL 語法一節中所述的 Windows Installer SQL 版本來處理資料庫查詢。

從資料表中刪除記錄

下列命令列會從 Test.msi 資料庫的 Feature 資料表中刪除主鍵 RED 的記錄。

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

將資料表新增至資料庫

下列命令列會將 Directory 資料表新增至 Test.msi 資料庫。

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 資料行新增至 Test.msi 資料庫的 CustomAction 資料表。

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 (') ','Sport','','專案',25,3,'SPORTDIR',2) 」

這會將下列記錄插入Test.msi的功能資料表。

特徵

功能 Feature_Parent 標題 Description 顯示 層級 目錄_ 屬性
網球 運動項目 網球 比賽 25 3 SPORTDIR 2

 

請注意,二進位資料無法使用 INSERT INTO 或 UPDATE SQL 查詢直接插入資料表。 如需詳細資訊,請參閱 使用 SQL 將二進位資料新增至資料表

修改資料表中的現有記錄

下列命令列會將 [標題] 欄位中的現有值變更為 [效能]。更新的記錄具有 「一般」做為其主鍵,且位於 Test.msi 資料庫的 Feature 資料表中。

Cscript WiRunSQL.vbs Test.msi 「UPDATE 'Feature' SET 'Feature'.'Title'='Performances' WHERE 'Feature'.'Feature'='一'

選取一組記錄

下列命令列會選取屬於 Test.msi 資料庫中 ErrorDialog 之所有控制項的名稱和類型。

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

將資料表保留在記憶體中

下列命令列會鎖定記憶體中Test.msi資料庫的 Component 資料表。

CScript WiRunSQL.vbs Test.msi 「ALTER TABLE 'Component' HOLD」

釋放記憶體中的資料表

下列命令列會從記憶體釋放Test.msi資料庫的 Component 資料表。

CScript WiRunSQL.vbs Test.msi 「ALTER TABLE 'Component' FREE」