Recherche…


Syntaxe

  • CREATE [OR REPLACE] FUNCTION nom_fonction [(paramètre [, paramètre])]

    RETOUR return_datatype

    IS | COMME

    [déclaration_section]

    BEGIN executable_section

    [EXCEPTION exception_section]

    END [nom_fonction];

Générer un GUID

Create Or Replace Function Generateguid
Return Char Is
    V_Guid Char(40);
Begin
    Select Substr(Sys_Guid(),1,8)||'-'||Substr(Sys_Guid(),9,4)||'-'
                        ||Substr(Sys_Guid(),13,4)||'-'||Substr(Sys_Guid(),17,4)||'-'
                        ||Substr(Sys_Guid(),21) Into V_Guid 
                        From Dual;
    Return V_Guid;
Exception
    When Others Then
    dbms_output.put_line('Error '|| SQLERRM);
End Generateguid;

Fonctions d'appel

Il y a plusieurs façons d'utiliser les fonctions.

Appeler une fonction avec une déclaration d'affectation

DECLARE
    x NUMBER := functionName(); --functions can be called in declaration section
BEGIN
    x := functionName();
END;

Appeler une fonction dans l'instruction IF

IF functionName() = 100 THEN
    Null;
END IF;

Appeler une fonction dans une instruction SELECT

SELECT functionName() FROM DUAL;


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow