Sintassi
La sintassi della funzione PostgreSQL è riportata di seguito.
Crea o sostituisci la funzione function_name (argomenta_list)Prerequisiti
UN. Installa il postgreSQL
È necessario installare l'ultima versione dei pacchetti PostgreSQL sul sistema operativo Linux prima di eseguire le istruzioni SQL mostrate in questo tutorial. Esegui i seguenti comandi per installare e avviare PostgreSQL:
$ sudo apt-get -y installa postgresql postgresql-confrib
$ sudo systemctl Inizia postgresql.servizio
Esegui il seguente comando per accedere a PostgreSQL con il privilegio di root.
$ sudo -u postgres psql
B. È possibile creare un database chiamato "Testdb" eseguendo la seguente istruzione SQL.
# Crea test Database TestDB;Se vuoi creare una tabella in testdb database, quindi devi digitare "\C" Per modificare il database. Ma in questo tutorial, non ho modificato il database e la tabella e tutte le funzioni sono state create nel database predefinito denominato Postgres.
C. Crea una tabella denominata prodotti con quattro campi e inserire quattro record nella tabella per testare le funzioni definite dall'utente che verranno create più avanti in questo tutorial.
# Crea prodotti da tavolo (D. Inserire quattro record nella tabella.
# Inserisci i prodotti (nome, tipo, prezzo)Diversi esempi di funzioni definite dall'utente di PostgreSQL
Gli usi delle funzioni definite dall'utente con argomento e senza argomento in PostgreSQL sono stati mostrati di seguito utilizzando più esempi.
Esempio-1: funzione definita dall'utente senza argomento e valore di restituzione
Esegui la seguente istruzione SQL per creare una funzione denominata function1 () senza alcun argomento e la funzione non restituirà nulla. La funzione aggiornerà il record della tabella dei prodotti in cui il valore ID è 3 dopo l'esecuzione.
# Crea o sostituisci la funzione funzione1 ()Verrà visualizzato il seguente output se la funzione viene creata correttamente in Postgres Banca dati.
Eseguire la seguente istruzione SQL per leggere tutti i record del prodotti Tabella prima di eseguire function1 ().
# Seleziona * dai prodotti;Il seguente output mostra i record inseriti del prodotti tavolo.
Esegui la seguente istruzione SQL per eseguire la funzione.
# Seleziona funzione1 ();
Il seguente output mostra che una riga è interessata chiamando la funzione function1 (). Il valore del campo di prezzo della tabella verrà aggiornato in cui il valore ID è 3.
Eseguire la seguente istruzione SQL per leggere tutti i record del prodotti Tabella dopo l'esecuzione function1 ().
# Seleziona * dai prodotti;Il seguente output mostra che il valore del prezzo della tabella dei prodotti è stato aggiornato in cui il valore ID è 3 ed è ora 1500.
Esempio 2: funzione definita dall'utente con in argomento
L'argomento predefinito della funzione è in argomento. Esegui la seguente istruzione SQL per creare una funzione denominata funzione2 () con due argomenti e la funzione non restituirà nulla. La funzione inserirà un nuovo record a prodotti Tabella con i valori degli argomenti.
# Crea o sostituisci funzione funzione2 (nome varchar, digita varchar, prezzo int)
Verrà visualizzato il seguente output se la funzione viene creata correttamente in Postgres Banca dati.
Esegui la seguente istruzione SQL per eseguire la funzione tre nei valori degli argomenti. Questi sono "iPhone", "mobile" e 2000.
# Seleziona funzione 2 ("iPhone", "mobile", 2000);Il seguente output mostra che una riga è interessata chiamando la funzione funzione2 (), e un nuovo record verrà inserito nel tavolo.
Eseguire la seguente istruzione SQL per leggere tutti i record del prodotti Tabella dopo l'esecuzione funzione2 ().
# Seleziona * dai prodotti;Il seguente output mostra che un nuovo record è stato inserito nel prodotti tavolo.
Esempio-3: funzione definita dall'utente senza argomento
L'argomento Out viene utilizzato per restituire il valore dalla funzione. Esegui la seguente istruzione SQL per creare una funzione denominata function3 () con un argomento fuori dal tipo di moneta e la funzione restituirà i dati del tipo di moneta. La funzione restituirà il valore assegnato dell'argomento OUT.
# Crea o sostituisci la funzione funzione3 (prezzo di denaro)
Verrà visualizzato il seguente output se la funzione viene creata correttamente in Postgres Banca dati.
Esegui la seguente istruzione SQL per eliminare i record dalla tabella dei prodotti in base al valore restituito dalla funzione3 ().
# Elimina dai prodotti in cui il prezzo <= function3();
Il seguente output mostra che tre righe sono interessate chiamando la funzione function3 (). Il valore restituito della funzione è 1000, che corrisponde ai tre record del prodotti tavolo dove il id i valori sono 1, 2, E 4.
Eseguire la seguente istruzione SQL per leggere tutti i record del prodotti Tabella dopo l'esecuzione function3 (). L'output mostra che esistono due record nella tabella in cui il prezzo I valori sono più di 1000.
# Seleziona * dai prodotti;Il seguente output mostra che 3 record sono stati eliminati da prodotti tavolo.
Esempio-4: funzione definita dall'utente con argomento inout
L'argomento inout viene utilizzato nella funzione per passare i valori nella funzione e restituire i valori dalla funzione. Esegui la seguente istruzione SQL per creare una funzione denominata calcolare() con un argomento inout di tipo float e un argomento di tipo intero. La funzione restituirà i dati di tipo float. La funzione verrà eseguita con l'importo delle vendite, che sarà un valore fluttuante e lo sconto, che sarà un numero intero. L'importo delle vendite dopo lo sconto verrà calcolato in base ai valori degli argomenti. Successivamente, l'importo di vendita calcolato verrà restituito dalla funzione utilizzando l'argomento OUT.
# Crea o sostituisci la funzione Calcola (Verrà visualizzato il seguente output se la funzione viene creata correttamente in Postgres Banca dati.
Esegui la seguente dichiarazione per eseguire la funzione con 10000 come importo di vendita e 5 come importo di sconto
#Select Calcola (10000, 5) come sconto_amount;Il 5% di 10000 è 500 e 10000-500 = 9500. Il seguente output mostra l'importo delle vendite dopo uno sconto del 5%.
Esempio-5: utente-Definato Funzione con IL Dichiarazione condizionale
Esegui la seguente istruzione SQL per creare una funzione denominata Search_product () con un argomento e la funzione restituirà i dati del tipo Varchar. Il modo di dichiarare la variabile della funzione e l'utilizzo dell'istruzione condizionale è stato mostrato in questa funzione. La variabile funzione denominata nome del prodotto è stato definito con il Nome tipo di prodotti tavolo. Il valore di in argomento, tp, sarà abbinato al valore del tipo campo del prodotti tavolo. Se non viene trovata alcuna corrispondenza nella tabella, verrà sollevato un errore con il messaggio, "il tipo di prodotto non esiste". Se viene trovata una corrispondenza, allora il valore del Nome Il campo di quel tipo di prodotto verrà memorizzato nella variabile funzione e la variabile verrà restituita dalla funzione.
# Crea o sostituisci la funzione Search_Product (TP Varchar)Verrà visualizzato il seguente output se la funzione viene creata correttamente in Postgres Banca dati.
Esegui la seguente istruzione SQL per leggere tutti i record dalla tabella dei prodotti.
# Seleziona * dai prodotti;Esegui la seguente istruzione SQL per eseguire la funzione Search_Product () con il tipo di prodotto "Mobile".
# Seleziona search_product ('mobile');Esegui la seguente istruzione SQL per eseguire la funzione Search_Product () con il tipo di prodotto "AC".
# Seleziona Search_Product ('AC');Il seguente output mostra che il prodotti La tabella contiene due record di valori di tipo, "tv" E "Mobile". L'output della prima esecuzione della funzione è restituito "iphon" perché il tipo di prodotto "mobile" esiste nella tabella. L'output della seconda esecuzione della funzione ha restituito un messaggio di errore perché il tipo di prodotto "AC" non esiste nella tabella.
Esempio-6: funzione definita dall'utente con funzione aggregata
Qualsiasi funzione aggregata supportata da SQL può essere utilizzata nella funzione PostgreSQL. Esegui la seguente istruzione SQL per creare una funzione denominata count_product () senza alcun argomento e la funzione restituirà i dati del tipo intero. La funzione aggregata Count () è stata utilizzata nella funzione utilizzata per contare il numero di righe in base alla condizione specifica. Qui, una variabile di funzione denominata Total_Product è stata dichiarata nella funzione per archiviare il valore di ritorno della funzione Count (). La funzione Count () è stata utilizzata nella query Seleziona per contare quei record in cui il nome del prodotto inizia con la parola "Sony".
# Crea o sostituisci le funzioni count_product ()Verrà visualizzato il seguente output se la funzione viene creata correttamente in Postgres Banca dati.
Esegui il comando seguente per eseguire la funzione, count_product ().
# Seleziona conte_product ();Il seguente output mostra che la funzione Count () restituisce il valore 1 perché esiste un solo record che corrisponde al valore, "Sony".
Conclusione
Lo scopo di utilizzare le funzioni postgreSQL e diversi modi di utilizzare le funzioni postgreSQL con argomenti in, out e inout sono stati descritti in questo tutorial creando più funzioni PostgreSQL. L'argomento in viene utilizzato per prendere valore nella funzione. L'argomento Out viene utilizzato per restituire il valore dalla funzione. L'argomento inout viene utilizzato per prendere il valore di input nella funzione e restituire l'output dalla funzione. La funzione può essere creata senza alcun argomento. Spero che l'utente sia in grado di creare e utilizzare correttamente la funzione PostgreSQL dopo aver letto questo tutorial.