DeepEdit!

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

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

Виды параметров

Обратимся к рассмотренной выше процедуре AddNewStudent и вызовем ее из следующего анонимного блока PL/SQL:
Переменные        v_NewMajor передаются процедуре AddNewStudent в качестве аргументов. В этом контексте они называ­ются фактическими параметрами (actual parameter), а параметры, указанные при объявлении процедуры (p_FirstName, p_LastName, p_Major), являются формальными параметрами (formal parameter). Фактические пара­метры содержат значения, передаваемые процедуре при ее вызове, и в них записываются результаты, возвращаемые процедурой (в зависимости от вида параметра). Именно значения фактических параметров используют­ся в процедуре. Формальные параметры выступают в роли места располо­жения фактических параметров. При вызове процедуры формальным параметрам присваиваются значения фактических параметров. Внутри процедуры все действия выполняются над формальными параметрами. Когда процедура заканчивается, фактическим параметрам присваиваются значения формальных параметров. Все операции присваивания соответст­вуют стандартным правилам, установленным в PL/SQL для таких опера­ций, в том числе правилам преобразования типов.

Формальные параметры бывают трех видов: IN (в), OUT (из) и IN OUT (в Oracle8 г добавлен модификатор NOCOPY). Если для формально­го параметра вид не указан, то по умолчанию устанавливается IN. Разли­чия между этими видами описаны в таблице 9.1. Приведем пример:



Внимание
В версиях Oracle до 7.3.4 и в версии 8.0.3 не разрешается считывать параметры OUT, это можно делать в Oracle8 версии 8.0.4 и выше (см. ниже раздел "Чтение параметров OUT").
 









jAntivirus