Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 10.doc
Скачиваний:
11
Добавлен:
01.05.2025
Размер:
784 Кб
Скачать
☆

1.3. Интерактивное выполнение sql-запросов

Консоль IBConsole позволяет в интерактивном режиме выполнять команды, заданные на языке SQL. Выполнение SQL-запросов и получение их результатов выполняются в окне Interactive SQL... (рис. 10.15), вызываемом командой Tools/Interactive SQL.... Это окно реализует функциональность, которая в пре­дыдущих версиях сервера InterBase принадлежала программе Windows Interactive SQL (WISQL), и мало чем отличается от нее. В заголовке окна отображается имя файла БД, а в строке состояния — его полное имя. Одновременно можно открыть несколько окон Interactive SQL для различных БД.

Рис. 10.15. Окно интерактивного выполнения SQL-запросов

В окне Interactive SQL можно выполнять различные операции с БД, включая создание и удаление БД и ее таблиц, соединение с БД, просмотр и изменение данных. Выполнение операций с БД основано на выполнении соответствующих операторов языка SQL (SQL-запросов). Эти операторы формируются и выпол­няются автоматически при выборе определенных команд меню. Так, при созда­нии БД на основании указанных параметров формируется оператор create DATABASE.

Кроме того, можно набирать и выполнять операторы в ручном режиме. Опера­торы вводятся в верхней части окна, а в нижней его части выдаются результаты их выполнения.

Операторы можно набирать и выполнять поочередно. Перемещение между от­дельными операторами осуществляется нажатием кнопок с изображением жел­тых стрелок. Кнопка со стрелкой влево выводит в окне предыдущий, а со стрелкой вправо — последующий оператор. Выполнение оператора осуществля­ется при нажатии кнопки с изображением желтой молнии.

Результаты работы оператора можно запомнить в обычном текстовом файле, выбрав команду сохранения результата Query/Save Output.

Последовательность ействий, заданных после запуска окна Interactive SQL, можно сохранить в виде "истории". Для этого служит команда File/Save SQL History - "История" запоминается в виде текстового файла с расширением HST или ТХТ.

Последовательность операторов SQL представляет собой сценарий, или скрипт, его удобно использовать для автоматизации операций с БД. Сохранение сцена­рия выполняется командой Query/Save Script. Скрипт запоминается в виде тек­стового файла с расширением SQL или ТХТ.

Сохраненный сценарий впоследствии можно загрузить, для чего надо вызвать команду Query/Load Script и указать имя сценария.

При выполнении операций, связанных с изменением БД, автоматически ис­пользуется механизм транзакций, т. е. одновременно с началом изменяющей БД операции запускается транзакция. Такой режим запуска транзакций, как мы уже знаем, называется неявным. Для закрепления выполненных изменений нужно выполнить оператор commit, а для отказа от них — rollback (это же можно сде­лать через вызов команд Transactions/Commit и Transactions/Rollback).

Параметры выполнения SQL-запросов уста­навливаются в окне SQL Options, которое вызывается командой Edit/Options (рис. 10.16).

Рис. 10.16. Установка параметров выполнения SQL-запросов

На странице Options можно задать следующие параметры:

  • Show Query Plan — показывать план выполнения запроса;

  • Auto Commit DDL (Автоматическое подтверждение операций DDL) — операторы определения данных, например создания таблиц, автоматически подтверждаются, т. е. связанная с операторами неявная транзакция не требует дополнительного подтверждения;

  • Character Set — набор символов, используемый для кодировки строк (для нашей страны рекомендуется задавать набор WIN1251);

  • BLOB Display — режим отображения BLOB-объектов, может принимать зна­чения Restrict, Enabled И Disabled;

  • BLOB Subtype — тип данных, содержащихся в объекте BLOB (по умолчанию Text);

  • Terminator — разделитель, используемый в качестве знака окончания SQL- запроса (по умолчанию ;);

  • Client Dialect — определяет диалект (версию) языка SQL.

Переключатель Clear input window on success управляет режимом очистки верх­ней половины экна с текстом SQL-запроса в случае его успешного выполнения. По умолчанию переключатель включен, и окно очищается.

Замечание

В коде хранимых процедур и триггеров в качестве разделителя используется знак ;, который не является окончанием SQL_3anpoca. Поэтому при их отладке параметру Terminator необходимо установить другое значение, например, пробел.

Дополнительные параметры устанавливаются на странице Advanced (рис. 10.17).

Рис. 10.17. Установка дополнительных параметров выполнения SQL-запроса

Наибольший интерес представляет группа переключателей Transactions, которые определяют режим подтверждения незавер­шенной транзакции при прекращении работы с БД: подтверждать незавершенную транзак­цию (Commit on exit) или отменять ее (Roll­back on exit).

Управление БД в окне Interactive SQL фактически происходит в ручном режиме и заключается в вводе и выполнении операторов SQL. Единственным средством автоматизации, например, при создании таблиц или триггеров, является исполь­зование сценариев, хотя и в этом случае сценарии должны быть предварительно подготовлены. По удобству работы окно Interactive SQL уступает даже относи­тельно простым программам типа Database Desktop. Несмотря на это, управле­ние БД рассмотрено нами именно с использованием интерактивного SQL. Это сделано для того, чтобы показать особенности работы с удаленными БД, а также продемонстрировать язык SQL для удаленного сервера.

Кроме консоли IBConsole и подобных ей программ, имеются так называемые средства CASE, с помощью которых разработчик может управлять БД в ин­терактивном режиме.