Proprio come le tabelle temporanee, utilizziamo anche alcune altre funzionalità per coinvolgere la capacità di archiviazione. Queste sono chiamate "procedure immagazzinate". Questi non sono mostrati come le tabelle. Ma lavora silenziosamente con i tavoli.
In PostgreSQL o in qualsiasi altro sistema di gestione del database, utilizziamo le funzioni per eseguire operazioni sui dati. Queste funzioni sono create dall'utente o definite dall'utente. Un grande svantaggio di queste funzioni è che non siamo in grado di eseguire transazioni all'interno delle funzioni. Non possiamo impegnarci o rollback. Ecco perché utilizziamo le procedure memorizzate. Utilizzando queste procedure, le prestazioni dell'applicazione sono aumentate. Inoltre, possiamo utilizzare più di un'istruzione SQL all'interno di un'unica procedura. Esistono tre tipi di parametri.
IN: È il parametro di input. Viene utilizzato per inserire i dati dalla procedura nella tabella.
FUORI: È il parametro di output. Viene utilizzato per restituire il valore.
DENTRO FUORI: Rappresenta sia i parametri di input che di output. Come possono passare e restituire il valore.
SINTASSI
Creare o sostituire la procedura procedura-name (parametri-elenco)Installa PostgreSQL nel tuo sistema. Dopo una configurazione riuscita, ora siamo in grado di accedere al database. Abbiamo due scelte per applicare le domande. Uno è shell PSQL, mentre l'altro è il dashboard PGadmin. Abbiamo usato pgadmin per questo scopo. Apri la dashboard, ora fornisci la password per mantenere la connessione con il server.
Creazione della procedura
Per comprendere il funzionamento della procedura memorizzata, dobbiamo creare una relazione utilizzando un'istruzione Create.
>> Crea vestiti da tavolo (ID seriale, nome Varchar (100), City Varchar (100), colore Varchar (100), numero intero di prezzo);Di solito, inseriamo i valori nella tabella utilizzando l'istruzione "Insert", ma qui utilizziamo una procedura memorizzata che utilizzerà come tabella Temp. In primo luogo i dati verranno archiviati in essi, quindi trasferiranno ulteriormente i dati nella tabella.
Crea un nome di procedura memorizzato "AddClothes". Questa procedura fungerà da mezzo tra la query e la tabella. Perché tutti i valori vengono prima inseriti in questa procedura e vengono quindi inseriti tramite il comando insert direttamente alla tabella.
>> Crea o sostituisci la procedura AddClothes (c_id inout int, c_name varchar (100), c_city varchar (100), c_color varchar (100), c_price integer)Ora i valori della procedura memorizzata sono inseriti nei vestiti da tavolo. Dalla query, è chiaro che in primo luogo, abbiamo definito la procedura del negozio con l'attributo di nomi di colonne leggermente diversi con gli stessi tipi di dati. Quindi, utilizzando un'istruzione Insert, i valori dai valori della procedura memorizzata vengono inseriti nella tabella.
Proprio come una semplice funzione, utilizziamo una chiamata di funzione per inviare i valori come argomenti nel parametro in modo che la procedura accetti questi valori.
>> chiama AddClothes (null, "T-shirt", "Red", "New York", 1500);Poiché il nome della procedura è "AddClothes", quindi è scritto con i valori allo stesso modo in cui li scriviamo direttamente nell'istruzione Insert. L'uscita è mostrata come 1; Dato che abbiamo usato il metodo di ritorno, questo mostra che una riga viene riempita. Vedremo i dati inseriti utilizzando un'istruzione selezionata.
>> Seleziona * dai vestiti;Ripeti la procedura sopra riportata nella misura in cui si desidera immettere i valori.
Procedura memorizzata e clausola "aggiornamento"
Ora crea la procedura per aggiornare i dati già esistenti nella tabella "vestiti". La prima parte della query nell'immissione dei valori alla procedura memorizzata è la stessa.
$$ IniziaOra chiameremo la procedura memorizzata. La sintassi della chiamata è la stessa, in quanto utilizza solo i valori nei parametri come argomenti.
Viene visualizzato un messaggio che mostra che la query viene eseguita correttamente con il tempo dell'esecuzione. Utilizzare l'istruzione Seleziona per recuperare tutti i record per visualizzare i valori che vengono sostituiti.
La procedura con la clausola "Elimina"
La prossima procedura del negozio che useremo qui sono le "deleteclothes". Questa procedura riceverà solo l'ID come input, quindi la variabile viene utilizzata per abbinare l'ID con l'ID presente nella tabella. Quando viene trovata la partita, la riga viene eliminata rispettivamente.
>> Creare o sostituire deleteclothes della proceduraOra chiameremo la procedura. Questa volta viene utilizzato solo un singolo ID. Questo ID individua la riga che deve essere eliminata.
>> chiama deleteclothes (2)La riga con ID "2" verrà eliminata dalla tabella.
>> Seleziona * dai vestiti;C'erano 3 righe nella tabella. Ora puoi vedere che vengono lasciate solo due righe perché la riga con ID "2" viene eliminata dalla tabella.
Creazione della funzione
Dopo la discussione completa della procedura memorizzata, ora considereremo come vengono introdotte e utilizzate le funzioni definite dall'utente.
>> Crea o sostituisci la funzione getAllClothes () restituisce i cocoperiUna funzione viene creata con lo stesso nome della procedura memorizzata. Tutti i dati della tabella "vestiti" vengono visualizzati nella porzione di output dei dati dei risultati. Questa funzione di ritorno non prenderà alcun argomento nel parametro. Usando questa funzione, abbiamo ottenuto i dati come mostrato sopra nell'immagine.
L'altra funzione viene utilizzata per ottenere i dati dei vestiti dall'ID specifico. Una variabile nel numero intero viene introdotta nel parametro. Questo ID sarà abbinato all'ID nella tabella. Dove viene trovata la partita, viene visualizzata la riga specifica.
>> Crea o sostituisci la funzione getClotheSbyId (c_id int) restituisce i vestitiCome argomento, chiameremo la funzione con l'ID che vogliamo recuperare i record dalla tabella.
>> Seleziona * da Ferclothesbyid (3);Quindi dall'output, puoi vedere che una sola riga viene recuperata dal tavolo "vestiti".
Conclusione
"Esempio di procedura memorizzata da PostgreSQL" elabora gli esempi con la creazione e le operazioni delle procedure. Le funzioni hanno avuto uno svantaggio che è stato rimosso dalle procedure memorizzate da PostgreSQL. Sono elaborati esempi relativi alle procedure e alle funzioni.