Differenza tra stored procedure e funzione

Sommario:

Differenza tra stored procedure e funzione
Differenza tra stored procedure e funzione

Video: Differenza tra stored procedure e funzione

Video: Differenza tra stored procedure e funzione
Video: Эволюция ОС Android от 1,0 до 11 2024, Luglio
Anonim

Procedura archiviata e funzione

Le stored procedure e le funzioni sono due tipi di blocchi di programmazione. Entrambi devono avere nomi chiamanti. Questi nomi chiamanti vengono utilizzati per chiamarli all'interno di un altro blocco di programmazione come funzioni e pacchetti di procedure o query SQL. Entrambi questi tipi di oggetti accettano parametri ed eseguono l'attività dietro quegli oggetti. Questa è la sintassi (in ORACLE) per creare una procedura memorizzata, crea o sostituisci procedura nomeprocedura (parametri)

come

inizio

dichiarazioni;

eccezione

exception_handling

fine;

Ed ecco la sintassi per creare una funzione (in ORACLE), crea o sostituisci la funzione nome_funzione (parametri)

ritorno return_datatype

come

inizio

dichiarazioni;

ritorno valore_ritorno/variabile;

eccezione;

exception_handling;

fine;

Procedure archiviate

Come accennato in precedenza, le stored procedure sono denominate blocchi di programmazione. Accettano parametri come input dell'utente ed elaborano secondo la logica alla base della procedura e forniscono il risultato (o eseguono un'azione specifica). Questi parametri possono essere di tipo IN, OUT e INOUT. Dichiarazioni di variabili, assegnazioni di variabili, istruzioni di controllo, cicli, query SQL e altre funzioni/procedure/chiamate di pacchetti possono essere all'interno del corpo delle procedure.

Funzioni

Le funzioni sono anche blocchi di programmazione denominati, che devono restituire un valore utilizzando l'istruzione RETURN e prima di restituire un valore, anche il suo corpo esegue alcune azioni (secondo la logica data). Le funzioni accettano anche 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. Sono,

Funzioni a riga singola (restituisce un singolo risultato per ogni riga della query)

Ci sono sottocategorie di funzioni di una singola riga.

  • Funzione numerica (Es: ABS, SIN, COS)
  • Funzione carattere (Es: CONCAT, INITCAP)
  • Funzione data/ora (es: LAST_DAY, NEXT_DAY)
  • Funzioni di conversione (Es: TO_CHAR, TO_DATE)
  • Funzione di raccolta (Es: CARDINALITÀ, SET)
  • Funzioni aggregate (restituisce una singola riga, basata su un gruppo di righe. Es: AVG, SUM, MAX)
  • Funzioni analitiche
  • Funzioni di riferimento oggetto
  • Funzioni del modello
  • Funzioni definite dall'utente

Qual è la differenza tra funzione e stored procedure?

• Tutte le funzioni devono restituire un valore utilizzando l'istruzione RETURN. Le stored procedure non restituiscono valori utilizzando l'istruzione RETURN. L'istruzione RETURN all'interno di una procedura restituirà il suo controllo al programma chiamante. I parametri OUT possono essere utilizzati per restituire valori dalle procedure memorizzate.

• Le funzioni possono essere chiamate all'interno delle query, ma le procedure memorizzate non possono essere utilizzate all'interno delle query.

• Il tipo di dati RETURN deve essere incluso per creare una funzione, ma nel DDL della procedura memorizzata non lo è.

Consigliato: