Exemplos de consultas de banco de dados usando o SQL e scripts
Um exemplo de uso de consultas de banco de dados controladas por script é fornecido no SDK (Windows Installer Software Development Kit) como o utilitário WiRunSQL.vbs. Esse utilitário manipula consultas de banco de dados usando a versão do Windows Installer do SQL descrita na seção Sintaxe SQL.
Excluir um registro de uma tabela
A linha de comando a seguir exclui o registro com a chave primária RED da tabela Recurso do banco de dados Test.msi.
Cscript WiRunSQL.vbs Test.msi "DELETE FROM `Feature` WHERE `Feature`.`Feature`='RED'"
Adicionar uma tabela a um banco de dados
A linha de comando a seguir adiciona a tabela Diretório ao banco de dados 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`)"
Para remover uma tabela de um diagrama de banco de dados
A linha de comando a seguir remove a tabela De recursos do banco de dados Test.msi.
Cscript WiRunSQL.vbs Test.msi "DROP TABLE `Feature`"
Adicionar uma coluna de chave a uma tabela
A linha de comando a seguir adiciona a coluna Teste à tabela CustomAction do banco de dados Test.msi.
CScript WiRunSQL.vbs Test.msi "ALTER TABLE `CustomAction` ADD `Test` INTEGER"
Inserir um novo registro em uma tabela
A linha de comando a seguir insere um novo registro na tabela Recurso do banco de dados Test.msi.
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)"
Isso insere o seguinte registro na tabela Recurso de Test.msi.
Tabela Recurso
Recurso | Feature_Parent | Título | Descrição | Exibir | Nível | Directory_ | Atributos |
---|---|---|---|---|---|---|---|
Tênis | Esporte | Tênis | Torneio | 25 | 3 | SPORTDIR | 2 |
Observe que os dados binários não podem ser inseridos em uma tabela diretamente usando as consultas INSERT INTO ou UPDATE SQL. Para obter informações, confira Adicionando dados binários a uma tabela usando SQL.
Modificar um registro existente em uma tabela
A linha de comando a seguir altera o valor existente no campo Título para "Desempenhos". O registro atualizado tem "Arts" como sua chave primária e está na tabela Recurso do banco de dados Test.msi.
Cscript WiRunSQL.vbs Test.msi "UPDATE `Feature` SET `Feature`.`Title`='Performances' WHERE `Feature`.`Feature`='Arts'"
Selecionar um grupo de registros
A linha de comando a seguir seleciona o nome e o tipo de todos os controles que pertencem ao ErrorDialog no banco de dados Test.msi.
CScript WiRunSQL.vbs Test.msi "SELECT `Control`, `Type` FROM `Control` WHERE `Dialog_`='ErrorDialog' "
Manter uma tabela na memória
A linha de comando a seguir bloqueia a tabela Componente do banco de dados Test.msi na memória.
CScript WiRunSQL.vbs Test.msi "ALTER TABLE `Component` HOLD"
Liberar uma tabela na memória
A linha de comando a seguir libera a tabela Componente do banco de dados Test.msi da memória.
CScript WiRunSQL.vbs Test.msi "ALTER TABLE `Component` FREE"