Esempio di procedura memorizzata da PostgreSQL

Esempio di procedura memorizzata da PostgreSQL
Il database PostgreSQL è più affidabile di altri perché può creare e archiviare i dati sotto forma di relazioni, procedure, ecc. PostgreSQL è un database personalizzabile, in quanto possiamo modificare i contenitori di archiviazione in base ai nostri requisiti. I dati in PostgreSQL sono gestiti dagli schemi e dai cataloghi. PostgreSQL supporta molte lingue, il che significa che possiamo eseguire query in qualsiasi linguaggio di programmazione nel PSQL (shell) o sul lato PGADMIN.

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)
Lingua Plpgsql
Come $$
DICHIARARE
(Nomi variabili della procedura)
INIZIO
--- Istruzioni SQL / logica / condizione.
Fine $$

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)
Linguaggio plpgsql AS
$$ Inizia
Inserisci i vestiti (nome, città, colore, prezzo) valori (c_name, c_city, c_color, c_price) ID di ritorno in c_id;
Fine $$;

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.

$$ Inizia
Aggiorna i vestiti set name = c_name, city = c_city, color = c_color, prezzo = c_price dove id = c_id;
Fine $$

Ora 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 procedura
(c_id int
)
Linguaggio plpgsql AS
$$ Inizia
Elimina dai vestiti dove id = c_id;
Fine $$

Ora 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 cocoperi
Lingua sql
Come $$
Seleziona * Dai vestiti;
$$;

Una 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 vestiti
Lingua sql
Come $$
Seleziona * da vestiti dove id = c_id;
$$;

Come 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.