Prosedyrer vs funksjoner i programmering
Prosedyrer og funksjoner i programmering, lar programmerere gruppere instruksjoner i en enkelt blokk, og det kan kalles opp fra forskjellige steder i programmet. Koden blir lettere å forstå og mer kompakt. Ved å utføre endringene på ett enkelt sted, vil hele koden bli påvirket. Ved hjelp av funksjoner og prosedyrer; en lineær og lang kode kan deles inn i uavhengige seksjoner. De gir mer fleksibilitet til koding av ulike programmeringsspråk og databaser.
Hva er funksjoner?
Funksjoner er i stand til å akseptere parametere som også er kjent som argumenter. De utfører oppgavene i henhold til disse argumentene eller parameterne og returnerer verdier av gitte typer. Vi kan forklare det bedre ved hjelp av et eksempel: En funksjon aksepterer en streng som en parameter og returnerer den første oppføringen eller posten fra en database. Den tar hensyn til innholdet for et spesifikt felt som begynner med slike tegn.
Syntaksen til funksjonen er som følger:
CREATE OR REPLACE FUNCTION my_func
(p_name IN VARCHAR2:=‘Jack’) returner varchar2 som start … end
Hva er prosedyrer?
Prosedyrer kan godta parameterne eller argumentene og de utfører oppgaver i henhold til disse parameterne. Hvis en prosedyre aksepterer en streng som en parameter og den gir ut en liste med poster i databasen for hvilke innhold i et spesifikt felt som begynner med slike tegn.
Syntaksen for prosedyrer er som følger:
LAG ELLER ERSTAT PROSEDYRE my_proc
(p_name IN VARCHAR2:=‘Jack’) as start … end
Hovedsakelig er det to måter en parameter overføres på i funksjoner og prosedyrer; etter verdi eller ved referanse. Hvis parameteren sendes av en verdi; endringen påvirkes innenfor funksjonen eller prosedyren uten å påvirke den faktiske verdien av den.
På den annen side, hvis parametrene sendes av referanser; den faktiske verdien av denne parameteren vil bli endret uansett hvor den kalles i koden i henhold til instruksjonene.
Forskjellen mellom prosedyrer og funksjoner
• Når parameteren sendes inn i prosedyren; den returnerer ingen verdi, mens en funksjon alltid returnerer en verdi.
• En av de største forskjellene i begge er at prosedyrer ikke brukes i databaser, mens funksjoner spiller en viktig rolle i å returnere verdier fra en database.
• Prosedyrer er i stand til å returnere flere verdier, og funksjonene kan returnere begrensede verdier.
• DML-operasjoner kan brukes i lagrede prosedyrer; de er imidlertid ikke mulige i funksjoner.
• Funksjoner kan bare returnere én verdi, og det er obligatorisk, mens prosedyrer kan returnere n eller null verdier.
• I funksjoner kan ikke feilhåndtering utføres, mens det kan utføres i lagrede prosedyrer.
• Inn- og utdataparametere kan sendes i prosedyrer mens i tilfelle funksjoner; bare inndataparametere kan sendes.
• Funksjoner kan kalles fra prosedyrer, mens det ikke er mulig å kalle en prosedyre fra en funksjon.
• Transaksjonshåndtering kan vurderes i prosedyrer og kan ikke vurderes i tilfelle funksjoner.