DeepEdit!

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

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

Литералы и константы в качестве фактических параметров

Посколь­ку значения копируются, фактический параметр, соответствующий пара­метру IN OUT или OUT, должен быть переменной и не может быть константой или выражением. Должна существовать область для хранения возвращаемого значения. Например, при вызове ModeTest можно заме­нить v_In литералом:
Проверка во время компиляции 
При создании процедуры компилятор PL/SQL проверяет правильность операций присваивания. Например, если удалить знак комментария из строки с операцией присваивания для
p_InParameter и попытаться скомпилировать ModeTest, то будет выдано со­общение об ошибке:

□ PLS-363: expression ' P_INPARAMETER' cannot be used as an assignment target (выражение  'P INPAHAMETEFT нельзя использовать в качестве объекта операции присваивания)
Обойти это можно, объявив параметр OUT как IN OUT. В таблице 9.2 показано, в каких версиях Oracle допускается чтение параметров OUT, a в каких — нет.

 









jAntivirus