Функции Oracle PL/SQL

Функция - это подпрограмма, которая вычисляет значение.

В этом учебном пособии вы узнаете, как создавать и удалять функции в Oracle/PLSQL с синтаксисом и примерами.

СОЗДАТЬ ФУНКЦИЮ (CREATE FUNCTION)

Как и на других языках программирования, вы можете создавать свои собственные функции в Oracle.

Синтаксис:

CREATE [OR REPLACE] FUNCTION имя_функции
[ (параметр [, параметр, ...]) ]
RETURN тип_данных IS | AS
[локальные объявления]
BEGIN
исполняемые предложения
[EXCEPTION
обработчики исключений]
END [имя_функции];

При создании процедуры или функции, вы можете определить три типа параметров, которые могут быть объявлены:
IN - Параметр может ссылаться на процедуру или функцию. Значение параметра не может быть изменено процедурой или функцией.

OUT - параметр не может ссылаться на процедуру или функцию, но значение параметра может быть изменено процедурой или функцией.

IN OUT - Параметр может ссылаться на процедуру или функцию и значения параметра может быть изменено процедурой или функцией.

Пример

Рассмотрим на примере, как создать функцию в Oracle.

Эта функция называется FindCourse. Она имеет один параметр name_in и возвращает число. Функция возвращает course_number, если находит соответствие на основе course_name. В противном случае, она возвращает 99999.

Вы можете ссылаться на вашу новую функцию в запросе SQL следующим образом:

SELECT course_name, FindCourse(course_name) AS course_id
FROM courses
WHERE subject = 'Mathematics';

УДАЛИТЬ ФУНКЦИЮ (DROP FUNCTION)

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

Синтаксис

Синтаксис удаления функция в Oracle:

DROP FUNCTION имя_функции;

имя_функции имя функции, которую вы хотите удалить.

Пример

Рассмотрим пример, как удалить функцию в Oracle.

DROP FUNCTION FindCourse;

В этом примере удаляем функцию под названием FindCourse.