Una guida completa su procedure e funzioni in PL SQL
Pubblicato: 2023-01-30I linguaggi di programmazione sono un sistema per scrivere programmi per computer. Mentre molti linguaggi di programmazione sono basati su testo, altri possono anche essere grafici. Questi linguaggi aiutano i programmatori a comunicare con il computer. Structured Query Language (SQL) è uno di questi linguaggi di programmazione che aiuta a memorizzare, manipolare e recuperare i dati memorizzati in un database relazionale. Nella guida di oggi, condivideremo i dettagli sull'esecuzione dei blocchi nome (procedure e funzioni) che sono sottoprogrammi per PL SQL. Quindi, se stavi cercando una guida completa su procedure e funzioni in PL SQL, sei arrivato sulla pagina giusta. In questo documento, oltre a trattare l'argomento della procedura memorizzata PL SQL, imparerai anche l'esempio di procedura PL SQL. Per non parlare della procedura di chiamata PL SQL, della procedura di uscita PL SQL e dell'esempio di funzione PL SQL che sono ugualmente importanti da conoscere se sei un programmatore in erba. Quindi, iniziamo con la nostra guida completa su PL SQL.
Contenuti
- Una guida completa su procedure e funzioni in PL SQL
- Cos'è PL SQL?
- Che cos'è la procedura e la funzione in PL SQL?
- Come creare una stored procedure e una funzione in PL SQL?
- Vantaggi di Stored Procedure e Function in PL SQL
- Sintassi per la creazione di stored procedure
- Esempio di procedura PL SQL
- Sintassi per la creazione di funzioni in PL SQL
- Esempio di funzione PL SQL
- Cos'è la procedura di uscita PL SQL?
- Differenza tra procedura memorizzata e funzione
Una guida completa su procedure e funzioni in PL SQL
Qui, abbiamo mostrato procedure e funzioni PL SQL con esempi in dettaglio.
Cos'è PL SQL?
- PL SQL è una forma abbreviata delle estensioni del linguaggio procedurale a SQL .
- PL SQL è un linguaggio strutturato a blocchi per programmatori che li aiuta a combinare la potenza di SQL con istruzioni procedurali.
- È l'estensione procedurale di Oracle Corporation .
- Questo linguaggio procedurale è disponibile nel database Oracle , nel database in memoria Times Ten e in IBM Db2 .
- In fase di esecuzione, sia PL/SQL che SQL offrono un'efficienza ottimale eseguendo all'interno dello stesso processo del server .
- PL SQL garantisce un'elaborazione efficace e indisturbata delle istruzioni SQL migliorando la portabilità , la sicurezza e la solidità del database.
- PL SQL significa semplicemente istruire il compilatore su cosa fare attraverso SQL e su come farlo attraverso il suo modo procedurale .
- PL SQL offre un maggiore controllo ai programmatori con l' uso di cicli , condizioni e concetti orientati agli oggetti .
Che cos'è la procedura e la funzione in PL SQL?
- PL SQL ha due sottoprogrammi, noti come procedure e funzioni .
- Di solito, una procedura viene utilizzata per eseguire un'azione e una funzione per calcolare un valore .
- I sottoprogrammi in PL SQL hanno una parte dichiarativa , una parte eseguibile e una parte facoltativa per la gestione delle eccezioni .
- Questi sottoprogrammi possono essere creati e salvati nel database come oggetti di database.
- I sottoprogrammi di procedure e funzioni in PL SQL restituiscono un singolo valore che viene utilizzato principalmente per calcolare e restituire un valore .
- Questi sottoprogrammi sono semplicemente una raccolta di istruzioni PL/SQL e SQL che possono eseguire un compito specifico .
Come creare una stored procedure e una funzione in PL SQL?
Quando viene scritto un blocco di codice per una stored procedure o una funzione PL SQL, viene compilato dal motore Oracle. Una volta compilato, viene memorizzato come oggetto di database. La stored procedure o blocco funzione di codice è composta da tre parti:
- Parte dichiarativa : in questa parte vengono dichiarate le variabili, le costanti, il cursore o le eccezioni che devono essere utilizzate dalla procedura o dalla funzione.
- Parte eseguibile : in questa parte viene scritta la definizione della procedura o della funzione creata. Questa parte comprende anche istruzioni PL/SQL o SQL che assegnano valori, manipolano dati e controllano l'esecuzione.
- Parte di gestione delle eccezioni : quest'ultima parte è facoltativa e in essa sono scritte le eccezioni previste che possono emergere durante l'esecuzione del codice scritto nella parte eseguibile.
Vantaggi di Stored Procedure e Function in PL SQL
Prima di scoprire l'esempio di procedura PL SQL, è necessario prima conoscere i vantaggi dei sottoprogrammi di procedura e funzione.
- Migliora le prestazioni del database : il motore Oracle aiuta nella compilazione automatica. Inoltre, ogni volta che viene eseguita una procedura o una funzione di chiamata PL SQL, il motore Oracle carica il codice compilato in SGA, System Global Area, che consente un'esecuzione più rapida.
- Riutilizzabilità e nessuna ridondanza : il numero di righe di codice non può essere scritto ripetutamente perché lo stesso blocco di codice per una procedura o una funzione può essere chiamato un numero qualsiasi di volte su più dati.
- Sicurezza : la sicurezza del database viene mantenuta anche con l'uso di stored procedure o funzioni in quanto aiuta a controllare l'utilizzo e il loro accesso concedendo l'autorizzazione agli utenti. Tuttavia, l'autorizzazione a modificare o manipolare il database non è concessa agli utenti.
- Integrità : un altro vantaggio dell'uso della procedura o funzione memorizzata PL SQL è che garantisce l'integrità in quanto vengono archiviati come oggetti di database dal motore Oracle.
- Risparmia memoria: uno dei molti vantaggi delle stored procedure o delle funzioni è che condividono la memoria, il che aiuta a salvare la memoria come una singola copia di una procedura o di una funzione che può essere caricata da un numero di utenti che hanno il permesso di fare lo stesso.
Leggi anche: Come correggere l'errore javascript:void(0).
Sintassi per la creazione di stored procedure
Puoi guardare la sintassi di seguito che viene utilizzata per creare una stored procedure in Oracle:
CREATE OR REPLACE PROCEDURE <procedure_name> (<nome_variabile>IN/OUT/IN OUT <tipo di dati>, <nome_variabile>IN/OUT/IN OUT <tipo dati>,...) IS/AS dichiarazione variabile/costante; INIZIO -- Corpo del sottoprogramma PL/SQL; ECCEZIONE -- Blocco Gestione Eccezioni ; END <nome_procedura>;
Nel codice sopra:
- Procedure_name rappresenta il nome della procedura.
- Nome_variabile rappresenta il nome della variabile utilizzata nella stored procedure.
- La procedura Crea o sostituisci rappresenta una parola chiave utilizzata per specificare il nome della procedura da creare.
- Begin , Exception e End rappresentano le parole chiave utilizzate per indicare la creazione di diverse sezioni della procedura.
- IN/OUT/IN OUT rappresenta le modalità dei parametri in cui IN si riferisce alla modalità READ ONLY che viene utilizzata per una variabile tramite la quale accetterà il valore dall'utente. Questa è la modalità parametro predefinita.
- OUT si riferisce alla modalità SOLO SCRITTURA che viene utilizzata per una variabile che restituisce il valore all'utente.
- IN OUT si riferisce alla modalità READ e WRITE che viene utilizzata per una variabile che accetterà un valore o restituirà un valore all'utente.
- <procedure_name> rappresenta la fine della definizione della procedura. Puoi anche usare semplicemente END al suo posto.
Esempio di procedura PL SQL
Per il codice della procedura seguente, ecco un semplice esempio che dimostrerà chiaramente l'uso della stored procedure per l'aggiunta di due numeri:
imposta l'output del server su; CREATE OR REPACE PROCEDURE Somma (dove a IN numero, b IN numero) IS c numero; INIZIO c := a+b; dbms_output.put_line ('Somma di due no= '|| c); FINE Somma;
In caso di chiamata alla procedura, verrà eseguito il seguente codice:
imposta l'output del server su; DICHIARARE x numero; y numero; INIZIO x := &x; y := &y; Somma(x,y); FINE; Dove: Immettere il valore per x: 10 Immettere il valore per y: 20 Somma di due no: 30
Procedura PL SQL creata con successo.
Sintassi per la creazione di funzioni in PL SQL
Ora che sai come creare la sintassi per la stored procedure e il suo esempio, è tempo di fare luce sulla creazione di funzioni in PL/SQL:
CREATE OR REPLACE FUNCTION <nome_funzione> (<nome_variabile> IN <tipodati>, <nome_variabile> IN <tipodati>,...) RETURN <tipo di dati> IS/AS dichiarazione variabile/costante; INIZIO -- Corpo del sottoprogramma PL/SQL; ECCEZIONE -- Blocco Gestione Eccezioni ; END <nome_funzione>;
Nel codice sopra:
- Function_name rappresenta il nome della funzione.
- Nome_variabile rappresenta il nome della variabile per la variabile utilizzata nella funzione.
- La funzione Crea o sostituisci rappresenta una parola chiave utilizzata per il nome della funzione da creare.
- IN rappresenta la modalità READ ONLY che viene utilizzata per una variabile tramite la quale accetterà il valore dall'utente. Questo è il parametro predefinito.
- Return rappresenta una parola chiave seguita da un tipo di dati che specifica il tipo di dati di un valore che la funzione restituirà.
Leggi anche: Comando di correzione non riuscito con codice di errore 1 Informazioni sull'uovo di Python
Esempio di funzione PL SQL
Di seguito è riportato un esempio della funzione PL SQL che dimostra l'uso della funzione per sommare due numeri:
imposta l'output del server su; CREATE OR REPLACE FUNCTION Sum(a IN numero, b IN numero) RETURN Numero IS numero c; INIZIO c := a+b; RITORNO c; FINE;
In caso di chiamata della funzione sum, verrà eseguito il seguente codice:
imposta l'output del server su; DICHIARARE n° 1 numero; numero n. 2; numero del risultato; INIZIO no1 := &no1; no2 := &no2; risultato := Somma(no1,no2); dbms_output.put_line('Somma di due nos='||risultato); FINE; Dove: Immettere il valore per no1: 5 Immettere il valore per no2: 5 Somma di due no: 10
Procedura PL SQL creata con successo.
Leggi la sezione successiva per conoscere la procedura di uscita da PL SQL.
Che cos'è la procedura di uscita PL SQL?
Exit aiuta quando l'istruzione esce dall'iterazione corrente del ciclo una volta soddisfatta la condizione nella sua clausola WHEN e trasferisce il controllo alla fine del ciclo attualmente in corso. Le istruzioni di uscita non possono essere utilizzate al di fuori dei cicli e servono per uscire da un ciclo incondizionatamente utilizzando le istruzioni Exit e Continue o in modo condizionale utilizzando le istruzioni Exit When e Continue When.
Differenza tra procedura memorizzata e funzione
Ora che sei a conoscenza della procedura e della funzione in PL SQL, è finalmente giunto il momento di conoscere anche la differenza fondamentale tra i due:
- La stored procedure può o meno restituire un valore alla parte chiamante del programma, mentre la funzione restituisce un valore alla parte chiamante del programma.
- La stored procedure restituisce un valore utilizzando il parametro OUT mentre la funzione restituisce il valore utilizzando RETURN.
- La procedura memorizzata utilizza il parametro IN, OUT, IN OUT mentre la funzione utilizza solo il parametro IN.
- La procedura memorizzata non specifica il tipo di dati il valore se restituirà dopo una chiamata effettuata mentre la funzione specifica il tipo di dati del valore che restituirà dopo una chiamata effettuata ad essa.
- La procedura memorizzata non può essere chiamata dal blocco funzione del codice, mentre la funzione può essere chiamata dal blocco procedura del codice.
Consigliato:
- RAM DDR4 vs DDR5: qual è la migliore per il gioco?
- Quali sono i tipi di breadboard?
- Come analizzare il testo
- 4 modi per dividere la stringa per delimitatore in SQL
Ci auguriamo che il nostro documento sulla procedura e la funzione in PL SQL sia stato utile e abbia avuto successo nel rispondere a tutti i tuoi dubbi su PL SQL e i relativi sottoprogrammi, procedura e funzione, procedura di uscita PL SQL e altro ancora. Se ti abbiamo aiutato in qualche modo o ci sono altre domande da parte tua, lascia i tuoi commenti qui sotto per farcelo sapere.