Системыуправлениябазамиданныхвz/OS 375
На данном этапе требуется возвратиться в первую панель SPUFI, нажав клавишу
F3. Появится экран, представленный на рис. 12.8.
Обратите внимание на звездочку (*) в опции 6, вызванную тем, что редактирова-
ние SQL только что было завершено. Если на данном этапе нажать Enter, произойдет
выполнение SQL-оператора, после чего автоматически откроется выходной файл,
так как в пункте BROWSE OUTPUT установлено значение YES. Первая часть выходных
данных представлена на рис. 12.9.
Для того чтобы вывести второй (в данном случае, последний) экран результатов,
следует нажать F8, после чего появится экран, представленный на рис. 12.10.
Обратите внимание на то, что таблица результатов содержит только один столбец.
Дело в том, что только этот столбец (DEPTNO) был указан в операторе SELECT. Значе-
ния в столбце DEPTNO были извлечены из всех (14) строк таблицы. Было выдано
также несколько сообщений. Одно из них содержит количество извлеченных строк.
Другое указывает, что SQLCODE (код завершения SQL, указывающий успешное или
неуспешное завершение) равен 100, что означает конец файла и отсутствие каких-
либо еще результатов.
Дополнительные сведения. Дополнительные сведения о языке SQL см. в руко-
водстве DB2 UDB for z/OS: SQL Reference. Эту и другие публикации IBM можно найти
на веб-сайте z/OS Internet Library:
http://www.ibm.com/servers/eserver/zseries/zos/bkserv/
129 Программирование приложений для DB2
SQL не является полным языком программирования, однако он необходим для доступа
и управления данными в базе данных DB2. Он представляет собой непроцедурный язык
4-го поколения (4GL), разработанный в середине 1970-х для использования в DB2. SQL
можно либо использовать динамически в интерпретационной программе вроде SPUFI,
либо встраивать и компилировать или ассемблировать в составе основного языка.
Так как же написать приложение, осуществляющее доступ к данным в DB2?
Для этого SQL встраивается в исходный код языка программирования, такого как
Java, Smalltalk, REXX, C, C++, COBOL, Fortran, PL/I и высокоуровневый ассемблер. Су-
ществует две категории SQL-операторов, которые можно использовать в программе:
статические и динамические.
• Статические.
Статическими SQL-операторами называются полные SQL-операторы, записан
-
ные внутри исходного кода. В процессе подготовки программы, DB2 опреде-
ляет пути доступа для операторов, и они записываются в DB2. SQL-операторы
не изменяются от одного запуска программы к другому; при этом используют-
ся одни и те же заданные пути доступа, так что подсистеме DB2 не требуется
создавать их повторно, что может вызвать дополнительную нагрузку (Приме-
чание. Все SQL-операторы должны иметь путь доступа).
• Динамические.
Динамическими SQL-операторами называются SQL-операторы, частично или
полностью неизвестные на момент написания программы. Только после запус-