Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak stworzyć funkcję w PL/SQL?

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Podziel varchar na oddzielne kolumny w Oracle

  2. Jak zwrócić uniksową sygnaturę czasową w Oracle?

  3. Różnica między VARCHAR2 (10 CHAR) a NVARCHAR2 (10)

  4. Oracle SQL plus jak zakończyć polecenie w pliku SQL?

  5. WSJDBCConnection nie zawija obiektów typu Oracle jdbc Connection