РУКОВОДСТВО ПО РЕЛЯЦИОННОЙ СУБД DB2

МЕНЮ 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


Содержание раздела