Примеры запросов к базе данных с использованием 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"