Exempel på databasfrågor med SQL och skript
Ett exempel på hur du använder skriptdrivna databasfrågor finns i Windows Installer Software Development Kit (SDK) som verktyget WiRunSQL.vbs. Det här verktyget hanterar databasfrågor med hjälp av Windows Installer-versionen av SQL som beskrivs i avsnittet SQL Syntax.
Ta bort en post från en tabell
Följande kommandorad tar bort posten med primärnyckeln RED från tabellen Feature i Test.msi-databasen.
Cscript WiRunSQL.vbs Test.msi "DELETE FROM 'Feature' WHERE 'Feature'.'Feature'='RED'"
Lägg till en tabell i en databas
Följande kommandorad lägger till tabellen Directory i Test.msi-databasen.
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')"
Ta bort en tabell från en databas
Följande kommandorad tar bort tabellen Feature från Test.msi-databasen.
Cscript WiRunSQL.vbs Test.msi "DROP TABLE 'Feature'"
Lägg till en ny kolumn i en tabell
Följande kommandorad lägger till kolumnen Test i tabellen CustomAction i Test.msi-databasen.
CScript WiRunSQL.vbs Test.msi "ALTER TABLE 'CustomAction' ADD 'Test' INTEGER"
Infoga en ny post i en tabell
Följande kommandorad infogar en ny post i tabellen Feature i Test.msi-databasen.
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)"
Detta infogar följande post i tabellen Feature i Test.msi.
Drag | Feature_Parent | Titel | Beskrivning | Visa | Nivå | Katalog_ | Attribut |
---|---|---|---|---|---|---|---|
Tennis | Sport | Tennis | Turnering | 25 | 3 | SPORTDIR | 2 |
Observera att binära data inte kan infogas i en tabell direkt med hjälp av SQL-frågorna INSERT INTO eller UPDATE. Mer information finns i Lägga till binära data i en tabell med SQL.
Ändra en befintlig post i en tabell
Följande kommandorad ändrar det befintliga värdet i fältet Rubrik till "Prestanda". Den uppdaterade posten har "Arts" som primärnyckel och finns i tabellen Funktion i Test.msi-databasen.
Cscript WiRunSQL.vbs Test.msi "UPDATE 'Feature' SET 'Feature'.'Title'='Performances' WHERE 'Feature'.'Feature'='Arts'"
Välj en grupp med poster
Följande kommandorad väljer namn och typ av alla kontroller som tillhör ErrorDialog i Test.msi-databasen.
CScript WiRunSQL.vbs Test.msi "SELECT 'Control', 'Type' FROM 'Control' WHERE 'Dialog_'='ErrorDialog' "
Lagra en tabell i minnet
Följande kommandorad låser tabellen Component i Test.msi-databasen i minnet.
CScript WiRunSQL.vbs Test.msi "ALTER TABLE 'Component' HOLD"
Frigör en tabell i minnet
Följande kommandorad frigör tabellen Component i Test.msi-databasen från minnet.
CScript WiRunSQL.vbs Test.msi "ALTER TABLE 'Component' FREE"