Postgres slippfunksjon hvis det eksisterer

Postgres slippfunksjon hvis det eksisterer
PostgreSQL er et open source databaseadministrasjonssystem og kildekoden er tilgjengelig under lisensen til PostgreSQL. PostgreSql -databasen som andre databaser har data i tabellform. Og disse dataene blir endret eller oppdatert ved å bruke flere kommandoer på dem.

For å administrere data eller bruke dem under omstendighetene i en gitt situasjon, har vi noen lagringsbeholdere som får data og utfører operasjoner på den. Disse er kjent som funksjonene eller de lagrede prosedyrene.

PostgreSQL -funksjon

PostgreSQL -funksjoner er delt inn i to hovedfunksjoner. Disse er:

Innebygde funksjoner

Disse funksjonene er til stede i PostgreSQL -databasen, på konfigurasjonen av databasestyringssystemet og mens du kobler til serveren. Du kan bruke dem ved bare å bruke navnet deres i kommandoen. Noen vanlige eksempler på innebygde funksjoner er maks (), min () og count () osv.

Brukerdefinerte funksjoner

Dette er funksjonene som er definert av brukeren. Disse funksjonene er ikke allerede til stede, men kan bare opprettes på tidspunktet for innføring av kode i henhold til det nåværende scenariet. Du kan bruke innebygde funksjoner i dem, men som en helhet fungerer disse funksjonene bare når de opprettes manuelt. Noen eksempler er som get_result (), Apply_interest () osv. I denne opplæringen vil vi snakke om denne typen funksjoner.

Slippfunksjon

Drop -funksjonen omhandler å fjerne den allerede opprettede funksjonen i PostgreSQL. Akkurat som tabeller blir også funksjoner droppet eller blir avkortet. Så for å forstå begrepet slippfunksjoner hvis de eksisterer, må vi først forstå funksjonsskapingen og deres arbeid. Etter det vil vi komme mot å slippe dem av.

Postgres funksjonsskaping

Nå vil vi se syntaksen for å lage en funksjon. Akkurat som en tabell i PostgreSQL, vil vi bruke en Create Command, men prosedyren er annerledes.

Syntaks

Opprett funksjonsnavn_of_funksjon (argumenter)
Returnerer datatype
Språk PSQL
Som $ variabel_name $
ERKLÆRE
erklæring;
(Variabel erklæring)
BEGYNNE
< function_body >
(logikk)
Return variabel_name | verdi
SLUTT;
$$

Parametere for syntaks ovenfor er beskrevet som:

  • Name_of_function: Denne parameteren brukes til å gi et navn til den brukerdefinerte funksjonen. Dette er skrevet etter at nøkkelordene har opprettet funksjon.
  • Argumenter: Denne funksjonen inneholder parametrene til funksjonen som vil bli brukt i funksjonen.
  • Retur: Denne funksjonen returnerer verdien i en spesifikk datatype som er definert etter returnøkkelordet.
  • Språk: Dette definerer programmeringsspråket som brukes i funksjonen.
  • Funksjon_body: Denne delen er hoveddelen av den brukerdefinerte funksjonen da den inneholder logikken eller tilstanden som er laget av brukeren.

Vi har implementert funksjonsopprettingskommandoen på pgadmin -dashbordet. Vi vil også vurdere dem på skallet senere i artikkelen. Så, åpne PGADMin, koble til serveren og velg alternativet Verktøy og velg deretter spørringsverktøyet. Et vindu vil bli åpnet, skriv kommandoen i den delen.

Tenk nå på et eksempel der vi har laget en funksjon for å lagre og returnere lærerens informasjon inkludert lærer -ID, navn og tittel. Vi har skrevet hovedlogikken i funksjonsopprettingskommandoen nedenfor. Hele koden er nevnt i bildet som er vedlagt.

opprette eller erstatte funksjonen get_teacher_info ()
begynne
For REC i SELECT
lærer_id,
tittel,
(First_name || "|| last_name) :: varchar
fra lærer
indre bli med lærer_info Bruker (lærer_id)
Inner Join -emne ved bruk av (emne_id)
Bestill etter tittel
komme tilbake;
slutt;
$$

Informasjonen i lærerinfo -funksjonen blir med i to tabeller som inneholder dataene som er relevante for emnet, og læreren har subjekt_id og lærer_id som parameter. Utfør nå koden ved å klikke på utførsknappen øverst. Ved utførelse vises en melding at funksjonen opprettes vellykket.

Dette eksemplet på funksjonsskaping var uten bruk av noe argument. Så nå vil vi igjen lage en funksjon med samme navn, men forskjellen er at funksjonen vil godta en parameter med den.

Så dette er forskjellen som vil diskriminere den nye funksjonen fra den forrige. Derfor er en annen funksjon med samme navn som den forrige opprettes. Ellers kan det ikke være mulig å lage to funksjoner med et lignende navn og lignende argumenter.

I likhet med tabeller og databaser, kan vi også observere navnene på funksjoner i venstre navigasjonslinje ved å utvide serveren og databasene; Du vil nå skjemaene til databasen. Når du utvider skjemaet, vil du se et alternativ 'offentlig'; Dette vil føre deg mot funksjonsalternativet. Alle de opprettede funksjonene er oppført her.

MISTE Funksjon

For å slippe en brukerdefinert funksjon fra databasen, bruker vi en drop-setning. Denne uttalelsen er akkurat som kommandoen som brukes for å slippe bordet.

Syntaks

Slippfunksjon [hvis eksisterer] name_of_function (argumenter)
[Kaskade | begrense];

Nå vil vi forklare disse parametrene og bruken av dem.

  • For det første spesifiserer vi navnet på funksjonen som vi ønsker å slette ved å bruke drop -setningen. Dette er skrevet etter nøkkelordets slippfunksjon.
  • For det andre bruker vi et "Hvis eksisterer" -alternativ, hjelper dette PostgreSQL -databasen med å vise en melding om en feil hvis den spesifiserte funksjonen ikke er til stede.
  • Tredje omhandler listen over funksjonene til funksjonen. Som vi har sett at funksjoner kan være med eller uten parametere, så vil PostgreSQL vite funksjonen vi ønsker å fjerne ved å sjekke argumentene vi har søkt om.
  • Kaskaden og begrensningsalternativene er valgfrie i henhold til implementeringen av tilstanden.

Vi vil bruke en drop -setning om den samme funksjonen som vi har opprettet ovenfor uten noe argument.

>> slipp funksjon get_teacher_info;

Denne uttalelsen vil gi en feil, da det ikke er klart for PostgreSQL som fungerer som vi skal slippe, ettersom vi har laget to funksjoner med samme navn med argumentet som er spesifisert. Løsningen er å bruke en tom parentes med funksjonen som viser null parametere.

>> slipp funksjon get_teacher_info ();

Dette vil fungere. Fra to, nå blir en funksjon igjen igjen. Å bruke navnet vil være tilstrekkelig til å slippe funksjonen.

>> slipp funksjon get_teacher_info;

Eller det andre alternativet er å bruke kommandoen med parameteren for å spesifisere funksjonen direkte.

Slippfunksjon i PSQL -skall

I likhet med funksjonen som brukes i pgadmin, har vi laget en funksjon her.

>> Opprett funksjon get_house_price (Price_from int, Price_to int)
Returnerer int
Språk PLPGSQL
som
$$
Erklære
house_count heltall;
Begynne
Velg Count (*)
inn i house_count
fra huset
hvor house_price mellom Price_from og Price_to;
return house_count;
Slutt;
$$;

Nå vil vi se den opprettede funksjonen, mens alle andre funksjoner kan vises ved å bruke en PSQL -kommando. Denne kommandoen bringer listen over funksjoner sammen med datatypen Navn skjema og funksjonene til funksjonen.

>> \ df

For å slippe funksjonen, nå vil vi bruke drop -kommandoen med argumentene.

>> drop -funksjonen get_house_price (Price_from heltall, Price_to heltall);

Konklusjon

Artikkelen 'Postgres Drop Function' implementeres på PostgreSQL -databasestyringssystemet på både PGADMIN Dashboards og PSQL også ved å bruke Windows 10. For det første har vi laget en funksjon for å forklare en funksjonsarbeid. Deretter brukes drop -kommandoen på funksjonene på begge måter, med eller uten parametere.