ВУЗ:
Составители:
Рубрика:
31
Синтаксис объявления параметров имеет следующий вид:
par_name [IN|OUT|IN OUT] type
[{:=|DEFAULT} expr];
где par_name – имя параметра, type – его тип, expr – выражение PL/SQL.
Виды формальных параметров:
IN – входной. Передает значение из вызывающей среды в подпро-
грамму. Выступает в качестве константы, может быть выражением, кон-
стантой, литералом или инициализированной переменной.
OUT – выходной. Возвращает значение из процедуры в вызываю-
щую
среду. Не может быть присвоен другой переменной или самому себе.
Фактический параметр должен быть переменной и не может быть констан-
той или выражением.
IN OUT – входной / выходной. Передает значение из вызывающей
среды в процедуру и возвращает значение из процедуры в вызывающую
среду. Выступает в качестве инициализированной переменной.
Пример процедуры PL/SQL:
PROCEDURE change_salary
(v_emp_id
IN NUMBER,
v_new_salary IN NUMBER)
IS
BEGIN
UPDATE s_emp
SET salary=v_new_salary
WHERE id=v_emp_id;
COMMIT;
END change_salary;
Функции имеют два основных отличия от процедуры:
– функция вызывается как часть выражения;
– функция должна возвращать значение.
Существуют функции, определяемые пользователем, и функции SQL.
Функции PL/SQL используются для возврата значения в вызывающую среду.
Существуют следующие команды SQL для создания хранимой
функции:
Синтаксис объявления параметров имеет следующий вид:
par_name [IN|OUT|IN OUT] type
[{:=|DEFAULT} expr];
где par_name имя параметра, type его тип, expr выражение PL/SQL.
Виды формальных параметров:
IN входной. Передает значение из вызывающей среды в подпро-
грамму. Выступает в качестве константы, может быть выражением, кон-
стантой, литералом или инициализированной переменной.
OUT выходной. Возвращает значение из процедуры в вызываю-
щую среду. Не может быть присвоен другой переменной или самому себе.
Фактический параметр должен быть переменной и не может быть констан-
той или выражением.
IN OUT входной / выходной. Передает значение из вызывающей
среды в процедуру и возвращает значение из процедуры в вызывающую
среду. Выступает в качестве инициализированной переменной.
Пример процедуры PL/SQL:
PROCEDURE change_salary
(v_emp_id IN NUMBER,
v_new_salary IN NUMBER)
IS
BEGIN
UPDATE s_emp
SET salary=v_new_salary
WHERE id=v_emp_id;
COMMIT;
END change_salary;
Функции имеют два основных отличия от процедуры:
функция вызывается как часть выражения;
функция должна возвращать значение.
Существуют функции, определяемые пользователем, и функции SQL.
Функции PL/SQL используются для возврата значения в вызывающую среду.
Существуют следующие команды SQL для создания хранимой
функции:
31
Страницы
- « первая
- ‹ предыдущая
- …
- 29
- 30
- 31
- 32
- 33
- …
- следующая ›
- последняя »
