Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да създадете функция в PL/SQL?

За да създадете функция в 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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Задействане на Oracle след вмъкване или изтриване

  2. Създаване на CTE в Oracle

  3. ROWID (оракул) - има ли полза от него?

  4. Отмяна на ангажирана транзакция

  5. Попълване на стойността на показвания елемент при заявка във формуляри на Oracle