În această secțiune, vom înțelege funcționarea Funcții PostgreSQL, funcția de creare comandă și vedeți exemplul în timp real al Comanda PostgreSQL CREATE FUNCTION folosind diferite instrumente ale PostgreSQL, cum ar fi pgadmin4 și shell SQL (PSQL).
Și vezi exemplul de a numi a funcţie definită de utilizator ca notație pozițională denumită notație, notația mixtă.
Ce este funcția PostgreSQL?
O funcție PostgreSQL sau a procedură stocată este un set de comenzi SQL și procedurale, cum ar fi declarații, atribuiri, bucle, flux de control etc. stocate pe serverul bazei de date și pot fi implicate folosind interfață SQL . Și este cunoscut și ca Proceduri stocate PostgreSQL .
Putem crea funcții PostgreSQL în limbaje serval, de exemplu, SQL , PL/pgSQL , C , Piton etc.
Ne permite să efectuăm operațiuni, care, în general, ar lua diverse comenzi și călătorii dus-întors într-o funcție din baza de date.
Ce este comanda PostgreSQL CREATE Function?
În PostgreSQL, dacă dorim să specificăm o nouă funcție definită de utilizator, putem folosi CREATE FUNCȚIE comanda.
Sintaxa comenzii PostgreSQL CREATE Function
Sintaxa pentru Comanda Funcție PostgreSQL CREATE este după cum urmează:
CREATE [OR REPLACE] FUNCTION function_name (arguments) RETURNS return_datatype LANGUAGE plpgsql AS $variable_name$ DECLARE declaration; [...] -- variable declaration BEGIN [...] -- logic RETURN variable_name END; $$
În sintaxa de mai sus, am folosit următorii parametri, așa cum se arată în tabelul de mai jos:
șir la caracter java
Parametrii | Descriere |
---|---|
nume_funcție |
|
[SAU ÎNLOCUIȚI] |
|
Funcţie |
|
ÎNTOARCERE |
|
Limba plpgsql |
|
Funcție_corp |
|
Exemplu de comandă PostgreSQL Creare funcție
Să vedem un exemplu diferit pentru a înțelege funcționarea Funcția PostgreSQL CREATE comanda.
Luăm Mașină masa de la Javatpoint baza de date, creată în Tutorialul PostgreSQL.
Crearea unei noi funcții
În comanda de mai jos, creăm o nouă funcție, care numără Mașini a caror Preț_mașină între Preț_de la și Preț_până parametri:
Create function get_car_Price(Price_from int, Price_to int) returns int language plpgsql as $$ Declare Car_count integer; Begin select count(*) into Car_count from Car where Car_price between Price_from and Price_to; return Car_count; End; $$;
The get_car_Price funcția este împărțită în două secțiuni principale, care sunt Antet și Corpul funcției .
Am folosit următorii parametri în Antet secțiune:
- În primul rând, specificăm numele funcției ca get_car_Price(), care este scris după creați funcția
- După aceea, get_car_Price() funcția conține doi parametri Pret de la și Preț_la, având un tip de date întreg.
- Apoi, get_car_Price() funcția preia un număr întreg definit de condiția return int.
- Și la sfârșit, am folosit limbajul funcției ca plpgsql .
Am folosit următorii parametri în Funcția Corp secțiune:
- Am folosit șir cotat în dolari ilustrație constantă în secțiunea funcție, care începe cu $$ si se termina cu $$ .
- Intre $$ semn, putem plasa un bloc, care acoperă declarația și logica functiei .
- În blocul de declarare, am declarat o variabilă numită Număr_mașini, care stochează mașinile selectate din Mașină
- În corpul secțiunii bloc, am folosit SELECTAȚI ÎNTRE comanda pentru a selecta Prețul mașinilor ale căror valori sunt între Preț_de la și Preț_până și dați ieșirea la Număr_mașini
- La sfârșitul blocului, am folosit ÎNTOARCERE comanda pentru a obține
Crearea unei funcții în PostgreSQL
În PostgreSQL, putem crea o funcție în două moduri:
Funcția de creare PostgreSQL folosind pgAdmin
Vom urma procesul de mai jos pentru a crea o funcție în pgAdmin:
Pasul 1
În primul rând, vom deschide cea mai recentă versiune pgAdmin în sistemul nostru local și vom merge la arborele de obiecte și ne vom conecta la Javatpoint exemplu de bază de date în care dorim să creăm o funcție.
Pasul 2
După aceea, vom deschide instrumentul de interogare făcând clic pe Instrumentul de interogare a urmat secțiunea Instrumente, după cum putem vedea în captura de ecran de mai jos:
programare round robin
Pasul 3
Pentru a crea get_car_Price1() funcția, vom folosi codul de mai sus în instrument de interogare și faceți clic pe A executa buton.
După implementarea comenzii de mai sus, vom primi fereastra de mesaj de mai jos care afișează funcția get_car_Price1() a fost creată cu succes într-o bază de date similară.
Și, putem identifica funcția get_car_Price() în Funcții listă așa cum putem vedea în următoarea captură de ecran:
Notă: Dacă nu putem identifica numele funcției, putem face clic dreapta pe nodul Funcții și selecta opțiunea de meniu Refresh... pentru a reactiva lista de funcții:
Crearea unei funcții folosind SQL Shell(psql)
Vom urma procesul de mai jos pentru a crea un tabel în psql :
Pasul 1
- În primul rând, vom deschide psql în sistemul nostru local și ne vom conecta la baza de date în care dorim să creăm o funcție.
- Vom crea un tabel în javatpoint baza de date, pe care am creat-o mai devreme în tutorialul PostgreSQL.
Pasul 2
- Pentru conectarea unei baze de date, vom introduce comanda de mai jos:
c javatpoint
Ieșire
După executarea comenzii de mai sus, vom obține următoarea ieșire:
Notă: Dacă introducem o comandă similară ca mai sus pentru a crea o funcție, în psql, aceasta va emite eroarea de mai jos și anume: funcția get_car_price există deja cu aceleași tipuri de argumente.
Prin urmare, pentru a rezolva această eroare, creăm o nouă funcție ca get_car_Price1 () în pasul următor.
Pasul 3
conversie de tip și turnare în java
Vom introduce comanda de mai jos pentru a crea o funcție la fel de get_car_Price1 () în javatpoint Bază de date.
javatpoint=# Create function get_car_Price1(Price_from int, Price_to int) javatpoint-# returns int javatpoint-# language plpgsql javatpoint-# as javatpoint-# $$ javatpoint$# Declare javatpoint$# Car_count integer; javatpoint$# Begin javatpoint$# select count(*) javatpoint$# into Car_count javatpoint$# from Car javatpoint$# where car_price between Price_from and Price_to; javatpoint$# return Price_count; javatpoint$# End; javatpoint$# $$;
Ieșire
Vom obține următorul rezultat la implementarea comenzii de mai sus, care afișează că get_car_Price_count1() funcția a fost creată cu succes.
Pasul 4
Putem folosi comanda de mai jos pentru a enumera toate funcțiile definite de utilizator din baza de date existentă.
javatpoint=# df
Ieșire
După executarea comenzii de mai sus, vom obține rezultatul de mai jos:
Cum să apelați o funcție definită de utilizator
În PostgreSQL, putem apela funcția definită de utilizator în trei moduri, care sunt după cum urmează:
Apelarea unei funcții folosind notația pozițională
Dacă dorim să descriem argumentele într-o ordine similară ca parametri, putem apela o funcție cu notații poziționale Ajutor.
directorul de redenumire linux
Să vedem un exemplu de exemplu pentru a înțelege Notația pozițională lucrează pentru a apela o anumită funcție.
În exemplul de mai jos, get_car_price() argumentele sunt 26000 și 70000 , care este echivalent cu Pret de la și Preț_la parametrii.
Select get_car_Price(26000,70000);
Ieșire
Vom obține următorul rezultat la implementarea comenzii de mai sus, care preia acele patru rânduri ale căror pret_masina este între 26000 până la 70000.
Când funcția are aproape parametru, putem apela o funcție cu ajutorul lui notație pozițională .
Dacă funcția conține mai mulți parametri, putem folosi notație numită pentru a apela funcția anume deoarece utilizând notație numită va face apelul funcției mai ușor de înțeles.
Apelarea unei funcții folosind notația numită
În exemplul de mai jos, afișăm funcționarea apelării get_car_Price() funcția folosind notația numită:
select get_car_Price( Price_from => 26000, Price_to => 70000 );
Ieșire
Vom obține următoarea ieșire la executarea comenzii de mai sus, care afișează patru rânduri bazate pe intervalul de mai sus pret_masina .
În notația menționată mai devreme, am folosit => pentru a distinge argumentul nume si valoare .
PostgreSQL permite creată sintaxa mai veche pe := pentru compatibilitate inversă , după cum putem vedea în următoarea comandă:
select get_car_Price( Price_from := 26000, Price_to := 70000 );
Ieșire
După executarea comenzii de mai sus, vom obține o ieșire similară în comparație cu rezultatul comenzii de mai sus, unde folosim „ =>' în loc de ':=' .
Apelarea unei funcții folosind notația mixtă
Este gruparea de pozițional și numit notații.
Să vedem un exemplu de exemplu pentru a înțelege funcționarea Apelarea unei funcții folosind notația mixtă.
În notație mixtă , nu putem folosi numiti Parametri inainte de Parametrii poziționali .
De exemplu:
În comanda de mai jos, vom folosi noțiune numită pentru Pret de la parametru ca Preț_de la => 26000, întrucât pentru Preț_la parametrul, am folosit noțiune pozițională la fel de 70000 , așa cum putem vedea în comanda de mai jos:
exemple de sisteme de operare
select get_car_Price(Price_from=>26000,70000);
Ieșire
După executarea comenzii de mai sus, PostgreSQL generează o eroare, care spune că argumentul pozițional nu poate urma argumentul numit .
Pentru a rezolva eroarea de mai sus, folosim notație pozițională și numită pentru get_car_price() funcția în care 26000 este folosit pentru a reprezenta Notarea pozițională; pe de altă parte, Preț_la => 70000 este folosit pentru a reprezenta notație numită :
select get_car_Price(26000,Price_to=>70000);
Ieșire
După executarea comenzii de mai sus, vom obține rezultatul de mai jos, care returnează acele mașini ale căror pret_masina este între 26000 și 70000.
Prezentare generală
În Funcția PostgreSQL secțiunea, am învățat următoarele subiecte:
- Am folosit Funcția CREATE comandă pentru a crea o funcție definită de utilizator pentru un anumit tabel.
- Am înțeles procesul de apelarea unei funcții definite de utilizator cu ajutorul diferitelor notaţii precum Pozițional, denumit și mixt.