Oracle
 sql >> Database >  >> RDS >> Oracle

Introduzione alle funzioni PL/SQL nel database Oracle

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

  1. Funzioni Pass-by-Value e
  2. 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

  1. È 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.
  2. È anche possibile utilizzare un blocco PL/SQL anonimo per chiamare una funzione.
  3. 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

  1. 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.
  2. Una funzione chiamata da un'istruzione UPDATE o DELETE su una tabella non può eseguire query (SELECT) o eseguire transazioni (DML) sulla stessa tabella.
  3. 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!