Примеры запросов к базе данных с использованием SQL и скриптов
Пример использования запросов базы данных на основе скриптов приведен в пакете SDK установщика Windows в качестве служебной WiRunSQL.vbs. Эта служебная программа обрабатывает запросы к базе данных с помощью версии SQL установщика Windows, описанной в разделе Синтаксис SQL.
Удаление записи из таблицы
Следующая командная строка удаляет запись с первичным ключом RED из таблицы Компонентов базы данных Test.msi.
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')"
Удаление таблицы из базы данных
Следующая командная строка удаляет таблицу Feature из базы данных Test.msi.
Cscript WiRunSQL.vbs Test.msi "DROP TABLE 'Feature'"
Добавление нового столбца в таблицу
Следующая командная строка добавляет столбец Test в таблицу CustomAction базы данных Test.msi.
CScript WiRunSQL.vbs Test.msi "ALTER TABLE 'CustomAction' ADD 'Test' INTEGER"
Вставка новой записи в таблицу
Следующая командная строка вставляет новую запись в таблицу Feature базы данных 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 ('Теннис','Спорт','Теннис','Турнир',25;3,'SPORTDIR,2)"
Следующая запись вставляется в таблицу feature Test.msi.
Функция Таблице
Компонент | Feature_Parent | Заголовок | Описание | Отображение | Level | Каталог_ | Атрибуты |
---|---|---|---|---|---|---|---|
Теннис | Спорт | Теннис | Турнир | 25 | 3 | SPORTDIR | 2 |
Обратите внимание, что двоичные данные нельзя вставить в таблицу напрямую с помощью запросов SQL INSERT INTO или UPDATE. Дополнительные сведения см. в статье Добавление двоичных данных в таблицу с помощью SQL.
Изменение существующей записи в таблице
Следующая командная строка изменяет существующее значение в поле Title на "Performances". Обновленная запись содержит "Arts" в качестве первичного ключа и находится в таблице Feature базы данных Test.msi.
Cscript WiRunSQL.vbs Test.msi "UPDATE 'Feature' SET 'Feature'.'Title'='Performances' WHERE 'Feature'.'Feature'='Arts'"
Выбор группы записей
В следующей командной строке выбирается имя и тип всех элементов управления, принадлежащих ErrorDialog в базе данных Test.msi.
CScript WiRunSQL.vbs Test.msi "SELECT 'Control', 'Type' FROM 'Control' WHERE 'Dialog_'='ErrorDialog' "
Хранение таблицы в памяти
Следующая командная строка блокирует таблицу Component базы данных Test.msi в памяти.
CScript WiRunSQL.vbs Test.msi "ALTER TABLE 'Component' HOLD"
Освобождение таблицы в памяти
Следующая командная строка освобождает таблицу Component базы данных Test.msi из памяти.
CScript WiRunSQL.vbs Test.msi "ALTER TABLE 'Component' FREE"