Каждый программист PL/SQL — даже если он понятия не имеет о таких задачах, как системное проектирование или модульное тестирование, — должен владеть некоторыми основными навыками:
- Перемещение по базе данных.
- Создание и редактирование исходного кода PL/SQL.
- Компиляция исходного кода PL/SQL, исправление ошибок и предупреждений компилятора.
- Запуск откомпилированной программы из некоторой среды.
- Анализ результатов выполнения кода (экранный вывод, изменения в таблицах и т. д.).
В отличие от «самостоятельных» языков вроде C, язык PL/SQL работает под управлением операционной среды Oracle (то есть является «встроенным» языком), поэтому во всех перечисленных задачах встречаются некоторые неожиданные нюансы — как положительные, так и отрицательные. В этой главе вы научитесь выполнять эти операции на простейшем уровне (с использованием SQL*Plus). Глава завершается практическими примерами вызова кода PL/SQL из распространенных сред программирования PHP, C и т. д.
Перемещение по базе данных
Любая программа PL/SQL пишется для работы с содержимым базы данных Oracle. Вполне естественно, что программист должен уметь «заглянуть за кулисы» базы данных Oracle, в которой будет выполняться его код. Вы должны знать, как просмотреть структуры данных (таблицы, столбцы, последовательности, пользовательские типы и т. д.) и сигнатуры всех существующих хранимых программ, которые будут вызываться в вашем коде. Также необходимо уметь получать информацию о реальном содержимом таблиц (столбцы, ограничения и т. д.).
Существует два разных подхода к перемещению по базе данных:
- Использование интегрированной среды разработки (IDE) — Toad, SQL Developer, PL/SQL Developer, SQL Navigator и т. д. Все интегрированные среды предоставляют визуальные средства просмотра, в которых для перемещения используется мышь.
- Запуск в среде командной строки (такой, как SQL*Plus) сценариев, запрашивающих информацию из словарей данных: ALL_OBJECTS, USER_OBJECTS и т. д. (см. далее в этой главе).
Я настоятельно рекомендую использовать графическую среду. Если вы достаточно давно работаете с Oracle, возможно, вы уже привыкли к сценариям, и работа с ними проходит достаточно эффективно. Но для большинства рядовых пользователей графический интерфейс намного удобнее, а работа с ним получается более производительной.