Procedurer vs funktioner i programmering
Procedurer og funktioner i programmering giver programmerere mulighed for at gruppere instruktioner i en enkelt blok, og det kan kaldes fra forskellige steder i programmet. Koden bliver lettere at forstå og mere kompakt. Ved at udføre ændringerne et enkelt sted påvirkes hele koden. Ved hjælp af funktioner og procedurer; en lineær og lang kode kan opdeles i uafhængige sektioner. De giver mere fleksibilitet til kodning af forskellige programmeringssprog og databaser.
Hvad er funktioner?
Funktioner er i stand til at acceptere parametre, der også kaldes argumenter. De udfører opgaverne i henhold til disse argumenter eller parametre og returnerer værdier for givne typer. Vi kan forklare det bedre ved hjælp af et eksempel: En funktion accepterer en streng som parameter og returnerer den første post eller post fra en database. Det tager højde for indholdet for et bestemt felt, der begynder med sådanne tegn.
Funktionens syntaks er som følger:
OPRET ELLER ERSTAT FUNKTION my_func
(p_name IN VARCHAR2: = 'Jack') returnerer varchar2 som start … slut
Hvad er procedurer?
Procedurer kan acceptere parametrene eller argumenterne, og de udfører opgaver i henhold til disse parametre. Hvis en procedure accepterer en streng som parameter, og den giver en liste med poster i databasen, for hvilket indhold i et bestemt felt begynder med sådanne tegn.
Syntaksen for procedurer er som følger:
OPRET ELLER ERSTAT PROCEDURE my_proc
(p_name IN VARCHAR2: = 'Jack') som start… slut
Der er hovedsageligt to måder, hvorpå en parameter overføres i funktioner og procedurer; efter værdi eller ved reference. Hvis parameteren overføres til en værdi; ændringen påvirkes inden for funktionen eller proceduren uden at påvirke den faktiske værdi af den.
På den anden side, hvis parametrene overføres med referencer; den aktuelle værdi af denne parameter ændres, uanset hvor den kaldes i koden i henhold til instruktionerne.
• Når parameteren overføres til proceduren; den returnerer ingen værdi, mens en funktion altid returnerer en værdi. • En af de store forskelle i dem begge er, at procedurer ikke bruges i databaser, mens funktioner spiller en vigtig rolle i returnering af værdier fra en database. • Procedurer er i stand til at returnere flere værdier, og funktionerne kan returnere begrænsede værdier. • DML-operationer kan bruges i lagrede procedurer; de er dog ikke mulige i funktioner. • Funktioner kan kun returnere en værdi, og det er obligatorisk, mens procedurer kan returnere n eller nul værdier. • I funktioner kan fejlhåndtering ikke udføres, mens den kan udføres i lagrede procedurer. • Indgangs- og outputparametre kan overføres i procedurer, mens det i tilfælde af funktioner er; kun inputparametre kan overføres. • Funktioner kan kaldes fra procedurer, mens det ikke er muligt at kalde en procedure fra en funktion. • Transaktionsstyring kan overvejes i procedurer, og det kan ikke overvejes i tilfælde af funktioner. |