Differenza tra stored procedure e funzione
Procedura memorizzata e funzione
Le stored procedure e le funzioni sono due tipi di blocchi di programmazione. Entrambe devono avere nomi di chiamata. Questi nomi di chiamata vengono utilizzati per chiamarli all'interno di un altro blocco di programmazione come le funzioni di procedure e i pacchetti o le query SQL. Entrambi questi tipi di oggetti accettano i parametri e eseguono l'attività dietro questi oggetti. Questa è la sintassi (in ORACLE) per creare una stored procedure,
crea o sostituisce la procedura procedurename (parametri)
come
begin
statements;
eccezione
exception_handling
fine;
E qui è la sintassi per creare una funzione (in ORACLE),
Creare o sostituire funzione function_name (parametri)return return_datatype
come
begin
statement;
return return_value / variabile;
un'eccezione;
fine;
Procedure memorizzate
Come sopra menzionato, le stored procedure sono denominate blocchi di programmazione. Accettano i parametri come input dell'utente e processo secondo la logica dietro la procedura e dare il risultato (o eseguire un'azione specifica). Questi parametri possono essere tipi IN, OUT e INOUT. Le dichiarazioni variabili, le assegnazioni variabili, le istruzioni di controllo, loop, query SQL e altre funzioni / procedure / pacchetti di pacchetti possono essere all'interno del corpo delle procedure.
Funzioni
Le funzioni sono anche denominate blocchi di programmazione che devono restituire un valore utilizzando l'istruzione RETURN e prima di restituire un valore, il suo corpo esegue anche alcune azioni (secondo la logica data). Le funzioni accettano anche i parametri da eseguire. Le funzioni possono essere chiamate all'interno delle query. Quando una funzione viene chiamata all'interno di una query SELECT, si applica a ciascuna riga del set di risultati della query SELECT. Esistono diverse categorie di funzioni ORACLE. Essi sono,
Funzioni a riga singola (restituisce un singolo risultato per ogni riga della query)
- Esistono sotto categorie di singole funzioni di riga.
Funzione di conversione (es: TO_CHAR, TO_DATE)
- Funzione di conversione (Es: ABS, SIN, COS)
- Funzione di caratteri (Ex: CONCAT, INITCAP)
- )
- Funzione di raccolta (Es: CARDINALITY, SET)
- Funzioni di aggregazione (Restituisce una singola riga, basata su un gruppo di righe Es: AVG, SUM, MAX)
- Funzioni analitiche
- Funzioni modello
- Funzioni definite dall'utente
- Qual è la differenza tra la funzione e la stored procedure?