Aby utworzyć funkcję w PL/SQL, użyj CREATE OR REPLACE FUNCTION oświadczenie. Poniżej znajdują się szczegóły składni i przykład.
Składnia
CREATE [OR REPLACE] FUNCTION function_name [(parameters)] Return data_type is /* declare variables here */ Begin /* write program logic here */ Return data_type; End;
Klauzula OR REPLACE jest opcjonalna, ale jest lepsza, ponieważ po wprowadzeniu zmian wielokrotnie kompilowaliśmy nasz kod. Jeśli twoja funkcja wymaga parametrów, podaj je w nawiasach. Określ typ danych dla klauzuli Return, ponieważ funkcja musi zwracać wartość.
Przykład
Poniżej znajduje się przykład funkcji PL/SQL, która dodaje dwie liczby i zwraca ich sumę. Ta funkcja przyjmuje dwa parametry typu liczba i zwraca liczbę.
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; /
Przetestuj za pomocą instrukcji Select:
SELECT sum_two_numbers (2, 3) total FROM DUAL;
Wyjście:
TOTAL ---------- 5 1 row selected.
Przetestuj za pomocą bloku 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; /
Wyjście:
Total is :5 PL/SQL procedure successfully completed.
Dowiedz się więcej o funkcjach Oracle PL/SQL z Oracle Docs.
Zobacz też:
- Przykład funkcji Oracle
- Przykład funkcji Oracle Row_Number