Esempi di query di database con SQL e script
Un esempio di uso di query di database basate su script è disponibile in Windows Installer Software Development Kit (SDK) come utilità WiRunSQL.vbs. Questa utilità gestisce le query di database usando la versione di SQL di Windows Installer descritta nella sezione sintassi SQL.
Eliminare un record da una tabella
La riga di comando seguente elimina il record con la chiave primaria RED dalla tabella feature del database Test.msi.
Cscript WiRunSQL.vbs Test.msi "DELETE FROM 'Feature' WHERE 'Feature'.'Feature'='RED'"
Aggiungere una tabella a un di database
La riga di comando seguente aggiunge la tabella directory al database 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')"
Rimuovere una tabella da un di database
La riga di comando seguente rimuove la tabella feature dal database di Test.msi.
Test.msi "DROP TABLE "Feature" Cscript WiRunSQL.vbs
Aggiungere una nuova colonna a una tabella
La riga di comando seguente aggiunge la colonna Test alla tabella CustomAction del database Test.msi.
CScript WiRunSQL.vbs Test.msi "ALTER TABLE 'CustomAction' ADD 'Test' INTEGER"
Inserire un nuovo record in una tabella
Nella riga di comando seguente viene inserito un nuovo record nella tabella feature del database Test.msi.
Cscript WiRunSQL.vbs Test.msi "INSERT INTO 'Feature' ('Feature'.'Feature','Feature'.'Feature_Parent','Feature'.'Title','Feature'.'Feature'.'Description', 'Feature'.'Display','Feature'.'Level','Feature'.'Directory_','Feature'.'Attributes') VALUES ('Tennis','Sport','Tennis','Torneo',25,'SPORTDIR',2)"
In questo modo il record seguente viene inserito nella tabella feature di Test.msi.
Tabella funzionalità
Caratteristica | Feature_Parent | Titolo | Descrizione | Esporre | Livello | Directory_ | Attributi |
---|---|---|---|---|---|---|---|
Tennis | Sport | Tennis | Torneo | 25 | 3 | SPORTDIR | 2 |
Si noti che i dati binari non possono essere inseriti in una tabella direttamente usando le query INSERT INTO o UPDATE SQL. Per informazioni, vedere Aggiunta di dati binari a una tabella tramite SQL.
Modificare un record esistente in una tabella
La riga di comando seguente modifica il valore esistente nel campo Titolo in "Performance". Il record aggiornato ha "Arts" come chiave primaria e si trova nella tabella Feature del database Test.msi.
Cscript WiRunSQL.vbs Test.msi "UPDATE 'Feature' SET 'Feature'.'Title'='Performance' WHERE 'Feature'.'Feature'='Arts'"
Selezionare un gruppo di record
Nella riga di comando seguente vengono selezionati il nome e il tipo di tutti i controlli appartenenti a ErrorDialog nel database Test.msi.
CScript WiRunSQL.vbs Test.msi "SELECT 'Control', 'Type' FROM 'Control' WHERE 'Dialog_'='ErrorDialog' "
contenere una tabella in memoria
Nella riga di comando seguente viene bloccata la tabella componente del database Test.msi in memoria.
CScript WiRunSQL.vbs Test.msi "ALTER TABLE 'Component' HOLD"
Liberare una tabella in memoria
Nella riga di comando seguente viene liberata la tabella componente del database Test.msi dalla memoria.
CScript WiRunSQL.vbs Test.msi "ALTER TABLE 'Component' FREE"