sql >> Database >  >> RDS >> Oracle

Hoe maak je een functie in PL/SQL?

Gebruik CREATE OR REPLACE FUNCTION om een ​​functie in PL/SQL aan te maken. uitspraak. Hieronder staan ​​de syntaxisdetails en een voorbeeld.

Syntaxis

CREATE [OR REPLACE] FUNCTION function_name [(parameters)] 
Return data_type is
/* declare variables here */
Begin
/* write program logic here */
Return data_type;
End;

Clausule OR REPLACE is optioneel, maar het is beter om te gebruiken omdat we onze code meerdere keren hebben gecompileerd nadat we de wijzigingen hebben aangebracht. Als uw functie parameters vereist, geeft u deze tussen haakjes op. Geef het gegevenstype op voor de Return-clausule, omdat een functie een waarde moet retourneren.

Voorbeeld

Het volgende is een voorbeeld van een PL/SQL-functie om twee getallen op te tellen en het totaal ervan te retourneren. Deze functie gebruikt twee parameters van het type nummer en geeft een getal terug.

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;
/

Test het met Select Statement:

SELECT sum_two_numbers (2, 3) total FROM DUAL;

Uitvoer:

TOTAL
----------
5
1 row selected.

Test het met PL/SQL Block:

SET SERVEROUTPUT ON;

DECLARE
n_total NUMBER;
BEGIN
n_total := sum_two_numbers (2, 3);
DBMS_OUTPUT.put_line ('Total is :' || n_total);
END;
/

Uitvoer:

Total is :5
PL/SQL procedure successfully completed.

Krijg meer details over de Oracle PL/SQL-functies van Oracle Docs.

Zie ook:

  • Voorbeeld van Oracle-functie
  • Oracle Row_Number functievoorbeeld

  1. Kan MySQL meerdere tekens vervangen?

  2. Lijst met beschikbare datumnotaties met CONVERT() in SQL Server

  3. Hoe kan ik een afbeelding in een sqlite-database invoegen?

  4. UTF-8 helemaal door