DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Предварительное объявление

Имена локальных подпрограмм PL/SQL являются идентификаторами, поэтому они должны быть объявлены до их использования. Обычно это не вызывает проблем, но когда подпрограммы ссылаются друг на друга, возникают трудности. Рассмотрим пример:

Эту программу скомпилировать невозможно. Процедура А вызывает процедуру В, поэтому В должна быть объявлена раньше А. В свою очередь процедура В вызывает процедуру А, поэтому А должна быть объявлена ра­ньше В. Одновременно эти условия не могут быть выполнены. Для того чтобы исправить сложившуюся ситуацию, можно воспользоваться пред­варительным объявлением (forward declaration), в котором указывается имя процедуры и формальные параметры. Это позволяет создавать про­цедуры, ссылающиеся друг на друга. Предварительное объявление приме­няется также в заголовках модулей. Приведем пример:
Перегрузка локальных подпрограмм
Как показано в главе 9, подпрограммы, объявленные в модулях, можно перегружать. Это справедливо и для локальных подпрограмм, например:

 









jAntivirus