Per chiunque abbia mai studiato linguaggi di programmazione come C, C++ o Java, il concetto di funzioni non è nuovo. Le funzioni non sono altro che un gruppo di istruzioni eseguibili. Usando le funzioni puoi evitare di riscrivere la stessa logica di programmazione ancora e ancora. Quindi, come possiamo definire una funzione in Oracle PL/SQL?
Cosa sono le funzioni PL/SQL in Oracle Database?
In Oracle Database possiamo definire una funzione PL/SQL come un sottoprogramma autonomo che ha lo scopo di svolgere alcune attività specifiche e ben definite. Le funzioni sono denominate blocco PL/SQL, il che significa che possono essere archiviate nel database come oggetto di database e possono essere riutilizzate. Questo è anche il motivo per cui alcuni libri fanno riferimento alle funzioni PL/SQL come funzioni memorizzate.
Tipi di funzioni PL/SQL in Oracle Database
Esistono due tipi di funzioni PL/SQL in Oracle Database, questi sono
- Funzioni Pass-by-Value e
- Funzioni Pass-by-Reference
In Oracle Database entrambi i tipi di funzioni dovrebbero restituire alcuni valori e questi valori dovrebbero essere un tipo di dati SQL o PL/SQL valido.
Sintassi delle funzioni PL/SQL nel database Oracle
CREATE [OR REPLACE] FUNCTION function_name (Parameter 1, Parameter 2…) RETURN datatype IS Declare variable, constant etc. BEGIN Executable Statements Return (Return Value); END;
Ho discusso riga per riga la sintassi della funzione PL/SQL nel video tutorial sul mio canale YouTube sullo stesso argomento. Ti suggerisco di andare a dare un'occhiata a quel tutorial una volta.
Metodo di esecuzione della funzione
A seconda della tua creatività e capacità di programmazione, una funzione PL/SQL può essere chiamata in diversi modi. Di seguito sono riportati alcuni modi generali per chiamare una funzione PL/SQL in Oracle Database
- È possibile utilizzare l'utilità SQL*Plus del database Oracle per richiamare una funzione PL/SQL che può essere richiamata da PL/SQL come istruzione procedurale.
- È anche possibile utilizzare un blocco PL/SQL anonimo per chiamare una funzione.
- Puoi anche chiamare una funzione direttamente in un'istruzione SELECT o DML.
Resta sintonizzato, discuteremo ciascuno di questi metodi di esecuzione delle funzioni PL/SQL nel prossimo tutorial.
Restrizioni alla chiamata di una funzione
- Una funzione che restituisce il tipo di dati SQL può essere utilizzata all'interno dell'istruzione SQL e una funzione PL/SQL che restituisce il tipo di dati PL/SQL funziona solo all'interno di blocchi PL/SQL. Un'eccezione a questa regola è che non è possibile chiamare una funzione che contiene un'operazione DML all'interno di una query SQL. Tuttavia puoi chiamare una funzione che esegue un'operazione DML all'interno di INSERT, UPDATE e DELETE.
- Una funzione chiamata da un'istruzione UPDATE o DELETE su una tabella non può eseguire query (SELECT) o eseguire transazioni (DML) sulla stessa tabella.
- Una funzione chiamata da espressioni SQL non può contenere il comando TCL (COMMIT o ROLLBACK) o il comando DDL (CREATE o ALTER)
Questo è tutto per questo tutorial sull'introduzione alle funzioni PL/SQL in Oracle Database. Assicurati di dare un'occhiata al prossimo tutorial in cui mostro la creazione della funzione PL/SQL usando un esempio molto semplice.
Assicurati anche di condividere questo blog sui tuoi social media poiché sto regalando il merchandising di RebellionRider a uno dei vincitori selezionati a caso ogni mese. Per ulteriori aggiornamenti seguimi su Facebook e Twitter.
Grazie per la lettura e buona giornata!