МЕНЮ SPUFI
SPUFI обозначает «процессор языка SQL, использующий входные данные из файла» (SQL Processor Using File Input). Как указывалось в разделе 14.1, SPUFI поддерживает интерактивное исполнение предложений SQL с терминала TSO. Основная идея заключается в том, что можно создать файл, содержащий одно или более предложений SQL, используя редактор ISPF, и затем исполнить этот файл предложений с помощью SPUFI, а далее снова использовать редактор ISPF для просмотра результатов исполнения этих предложений, которые будут записаны в другой файл. Отметим, следовательно, что SPUFI—это инструмент профессионала в области обработки данных, а не конечного пользователя. Соответствующим средством для конечного пользователя является QMF (см. главу 15). SPUFI предназначен, главным образом, для прикладных программистов, которые хотят проверить SQL-части их программ, или для администраторов, которые хотят исполнить предложения определения данных SQL, хотя QMF фактически может также использоваться для выполнения обеих этих функций.
Наряду с прочим меню SPUFI позволяет пользователю, а в некоторых случаях требует от него специфицировать:
— Файл, содержащий предложение (или предложения) SQL; этот файл должен уже существовать, хотя он может в настоящее время быть пустым.
— Указание, должен ли этот файл редактироваться с помощью редактора ISPF, прежде чем он будет готов к исполнению (обычно — ДА).
— Файл для получения результатов исполнения предложения (предложений) SQL; этот файл не обязательно должен уже существовать—если он не существует, SPUFI создаст его.
— Уровень изоляции — RR или CS (см. главу 11).
— Требуется ли «автоматическая фиксация» (обычно—ДА). Положительный ответ означает, что SPUFI будет автоматически выдавать команду COMMIT после исполнения входного файла, если не возникнут никакие ошибки, или команду ROLLBACK— в противном случае. Отрицательный ответ означает, что сам входной файл включает предложения COMMIT или, если это не так, то у пользователя после исполнения в интерактивном режиме будет запрашиваться, какую из команд—COMMIT или ROLLBACK—следует выдать.
Если входной файл содержит множество предложений SQL, SPUFI прекратит исполнение этих предложений, как только он встретит в одном из них ошибку. Выходной файл будет содержать последовательность результатов каждого из предложений, в том числе возвращаемые значения SQLCODE, с последующим резюме всего исполнения. Оно включает, в частности, указание, какая из команд—COMMIT или ROLLBACK—была выполнена. На рис. 14.4 показан пример выходного файла SPUFI.
ПРОСМОТР _ _ КДДЕЙТ. РЕЗУЛЬТАТ _ _ _ _ _ _ КОЛОНКИ 001 072
ВВОД КОМАНД = = = > ПРОСМОТР => СТРАНИЦАМИ
––––––––– | ––––––––– | ––––––––– | ––––––––– | ––––––––– | ––––––––– | ––––––––– | –
SELECT * 00010000
FROM P 00020000
WHERE ВЕС
IN (12, 16, 17) 00030000
ORDER BY НОМЕР_ДЕТАЛИ; 00040000
––––––––– | ––––––––– | ––––––––– | ––––––––– | ––––––––– | ––––––––– | ––––––––– | –
НOMEР_ДЕТАЛИ НАЗВАНИЕ ЦВЕТ ВЕС ГОРОД
P1 гайка красный 12 Лондон
P2 болт зеленый 17 Париж
P3 винт голубой 17 Рим
P5 кулачок голубой 12 Париж
––––––––– | ––––––––– | ––––––––– | ––––––––– | ––––––––– | ––––––––– | ––––––––– | –
DSNEG10I ЧИСЛО ПОКАЗАННЫХ СТРОК 4.
DSNE616I ИСПОЛНЕНИЕ ПРЕДЛОЖЕНИЯ БЫЛО УСПЕШНЫМ,
SQLCODE 100.
––––––––– | ––––––––– | ––––––––– | ––––––––– | ––––––––– | ––––––––– | ––––––––– | –
DSNE617I ВЫПОЛНЕНА КОМАНДА COMMIT, SQLCODE 0.
Рис. 14.4. Пример выходного файла SPUFI