За да създадете функция в PL/SQL, използвайте СОЗДАЙТЕ ИЛИ ЗАМЕНЕТЕ ФУНКЦИЯ изявление. По-долу са подробностите за синтаксиса и пример.
Синтаксис
CREATE [OR REPLACE] FUNCTION function_name [(parameters)] Return data_type is /* declare variables here */ Begin /* write program logic here */ Return data_type; End;
Клаузата OR REPLACE не е задължителна, но е по-добре да се използва, защото сме компилирали нашия код няколко пъти след извършване на промените. Ако вашата функция изисква параметри, посочете ги в скоби. Посочете типа данни за клауза Return, защото функцията трябва да връща стойност.
Пример
Следва пример за PL/SQL функция за добавяне на две числа и връщане на общата сума. Тази функция приема два параметъра от числови тип и ще върне число.
CREATE OR REPLACE FUNCTION sum_two_numbers (p_n1 IN NUMBER, p_n2 IN NUMBER) RETURN NUMBER IS BEGIN RETURN (p_n1 + p_n2); END; /
Тествайте го с помощта на Select Statement:
SELECT sum_two_numbers (2, 3) total FROM DUAL;
Изход:
TOTAL ---------- 5 1 row selected.
Тествайте го с помощта на PL/SQL блок:
SET SERVEROUTPUT ON; DECLARE n_total NUMBER; BEGIN n_total := sum_two_numbers (2, 3); DBMS_OUTPUT.put_line ('Total is :' || n_total); END; /
Изход:
Total is :5 PL/SQL procedure successfully completed.
Получете повече подробности за функциите на Oracle PL/SQL от Oracle Docs.
Вижте също:
- Пример за функция на Oracle
- Пример за функция на Oracle Row_Number