пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Программирование в интернет:
» ПИ
» ОКГТМ
» КИНФС

Мова PL/SQL. Процедури і функцій, що зберігаються. Передача даних в функціях та процедурах. Фактичні та формальні параметри. Позиційна та іменна нотації. Моди параметрів.

После того, как команда CREATE OR REPLACE создает процедуру или функцию, она сразу сохраняется в БД, в скомпилированной форме, которая называется p-кодом (p-code). В p-коде содержатся все обработанные ссылки подпрограммы, а исходный текст преобразован, в вид удобный для чтения системой поддержки PL/SQL. При вызове хранимой процедуры p-код считывается с диска и выполняется.

Процедура – подпрограмма, которую вызывают для того, чтобы выполнить некоторое действие. Функция – подпрограмма, которую вызывают, для того, чтобы вычислить некоторое значение. Для передачи данных в функцию или процедуру используются параметры. Каждый параметр имеет имя, тип данных и тип параметра.

Типы параметров: IN – входной, только для чтения, служит для передачи данных в подпрограмму; OUT – выходной, только для записи, служит для возвращения данных из подпрограммы; IN OUT – и входной и выходной, для чтения и записи, позволяет передавать в подпрограмму начальные значения и возвращать обновленные значения вызывающей программе.

Существует два типа передачи параметров в подпрограммах. Позиционное представление и именное представление. Позиционное более похоже на традиционную передачу параметра в языках программирования. Приведу небольшой пример:

  • DECLARE
  • Param1 NUMBER;
  • Param2 VARCHAR2(100);
  • BEGIN
  • TEST_POZ(Param1, Param2);
  • END;
  • /

Зачастую рекомендуют пользоваться именно таким способом передачи данных.

Именное представление или же named notation было унаследовано от языка «Ada». В таком виде передачи данных используются как формальные, так и фактические параметры. К примеру:

  • DECLARE
  • Param1 NUMBER;
  • Param2 VARCHAR2(100);
  • BEGIN
  • TEST_POZ(FParam1 => Param1, FParam2 => Param2);
  • END;
  • /

Это дает возможность при желании установить собственный порядок аргументов.

Так же существуют два типа параметров: фактические и формальный. Фактический – это тот параметр, которые передается в списке параметров в вызове подпрограммы, к примеру raise_salary(emp_num, amount). А вот те параметры, которые объявлены в теле функции или процедуре raise_salary называются формальными.


20.01.2016; 16:34
хиты: 314
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь