Beispiele für Datenbankabfragen mit SQL und Skript
Ein Beispiel für die Verwendung skriptgesteuerter Datenbankabfragen finden Sie im Windows Installer Software Development Kit (SDK) als Hilfsprogramm „WiRunSQL.vbs“. Dieses Hilfsprogramm verarbeitet Datenbankabfragen mit der Windows Installer-Version von SQL, die im Abschnitt SQL-Syntax beschrieben wird.
Löschen eines Datensatzes aus einer Tabelle
Die folgende Befehlszeile löscht den Datensatz mit dem Primärschlüssel „RED“ aus der Feature-Tabelle der Datenbank „Test.msi“.
Cscript WiRunSQL.vbs Test.msi "DELETE FROM `Feature` WHERE `Feature`.`Feature`='RED'"
Hinzufügen einer Tabelle zu einer Datenbank
Die folgende Befehlszeile fügt der Datenbank „Test.msi“ die Directory-Tabelle hinzu.
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`)"
Entfernen einer Tabelle aus einer Datenbank
Die folgende Befehlszeile entfernt die Feature-Tabelle aus der Datenbank „Test.msi“.
Cscript WiRunSQL.vbs Test.msi "DROP TABLE `Feature`"
Hinzufügen einer neuen Spalte zu einer Tabelle
Die folgende Befehlszeile fügt der CustomAction-Tabelle der Test.msi-Datenbank die Spalte „Test“ hinzu.
CScript WiRunSQL.vbs Test.msi "ALTER TABLE `CustomAction` ADD `Test` INTEGER"
Einfügen eines neuen Datensatzes in eine Tabelle
Die folgende Befehlszeile fügt einen neuen Datensatz in die Feature-Tabelle der Test.msi-Datenbank ein.
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)"
Dadurch wird der folgende Datensatz in die Feature-Tabelle von „Test.msi“ eingefügt.
Feature-Tabelle
Funktion | Feature_Parent | Titel | BESCHREIBUNG | Anzeige | Ebene | Directory_ | Attribute |
---|---|---|---|---|---|---|---|
Tennis | Sport | Tennis | Tournament | 25 | 3 | SPORTDIR | 2 |
Beachten Sie, dass Binärdaten mit den SQL-Abfragen „INSERT INTO“ und „UPDATE“ nicht direkt in eine Tabelle eingefügt werden können. Weitere Informationen finden Sie unter Hinzufügen von Binärdaten zu einer Tabelle mit SQL.
Ändern eines vorhandenen Datensatzes in einer Tabelle
Die folgende Befehlszeile ändert den vorhandenen Wert im Feld „Title“ in „Performances“. Der aktualisierte Datensatz weist „Arts“ als Primärschlüssel auf und befindet sich in der Feature-Tabelle der Test.msi-Datenbank.
Cscript WiRunSQL.vbs Test.msi "UPDATE `Feature` SET `Feature`.`Title`='Performances' WHERE `Feature`.`Feature`='Arts'"
Auswählen einer Gruppe von Datensätzen
Die folgende Befehlszeile wählt den Namen und Typ aller Steuerelemente aus, die zu „ErrorDialog“ in der Test.msi-Datenbank gehören.
CScript WiRunSQL.vbs Test.msi "SELECT `Control`, `Type` FROM `Control` WHERE `Dialog_`='ErrorDialog' "
Speichern einer Tabelle im Arbeitsspeicher
Die folgende Befehlszeile sperrt die Component-Tabelle der Test.msi-Datenbank im Arbeitsspeicher.
CScript WiRunSQL.vbs Test.msi "ALTER TABLE `Component` HOLD"
Freigeben einer Tabelle im Arbeitsspeicher
Die folgende Befehlszeile gibt die Component-Tabelle der Test.msi-Datenbank im Arbeitsspeicher frei.
CScript WiRunSQL.vbs Test.msi "ALTER TABLE `Component` FREE"