Procedures versus functies in programmeren
Procedures en functies in programmeren, stellen programmeurs in staat om instructies samen te groeperen in een enkel blok en het kan op verschillende plaatsen binnen het programma worden opgeroepen. De code wordt gemakkelijker te begrijpen en compacter. Door de wijzigingen op één plaats uit te voeren, wordt de hele code beïnvloed. Met behulp van functies en procedures; een lineaire en lange code kan worden onderverdeeld in onafhankelijke secties. Ze bieden meer flexibiliteit bij het coderen van verschillende programmeertalen en databases.
Wat zijn functies?
Functies zijn in staat parameters te accepteren die ook bekend staan als argumenten. Ze voeren de taken uit volgens deze argumenten of parameters en retourneer waarden van bepaalde typen. We kunnen het beter uitleggen met behulp van een voorbeeld: een functie accepteert een tekenreeks als een parameter en retourneert de eerste invoer of record uit een database. Het houdt rekening met de inhoud van een specifiek veld dat met dergelijke tekens begint.
De syntaxis van de functie is als volgt:
FUNCTIE CREËREN OF VERVANGEN my_func
(p_name IN VARCHAR2: = 'Jack') retourneer varchar2 als begin ... einde
Wat zijn procedures?
Procedures kunnen de parameters of argumenten accepteren en ze voeren taken uit volgens deze parameters. Als een procedure een tekenreeks als parameter accepteert en een lijst met records in de database opgeeft waarvoor de inhoud van een specifiek veld met deze tekens begint.
De syntaxis van procedures is als volgt:
PROCEDURE AANMAKEN OF VERVANGEN my_proc
(p_name IN VARCHAR2: = 'Jack') als begin ... einde
Hoofdzakelijk zijn er twee manieren waarop een parameter wordt doorgegeven in functies en procedures; door waarde of door verwijzing. Als parameter wordt doorgegeven door een waarde; de wijziging wordt beïnvloed door de functie of procedure zonder de werkelijke waarde ervan te beïnvloeden.
Aan de andere kant, als de parameters door referenties worden doorgegeven; de werkelijke waarde van deze parameter wordt overal waar deze in de code wordt aangeroepen, gewijzigd volgens de instructies.
Verschil tussen procedures en functies • Wanneer de parameter in de procedure wordt ingevoerd; het retourneert geen waarde, terwijl een functie altijd een waarde retourneert. • Een van de belangrijkste verschillen in beide is dat procedures niet worden gebruikt in databases, terwijl functies een belangrijke rol spelen bij het retourneren van waarden uit een database. • Procedures kunnen meerdere waarden retourneren en de functies kunnen beperkte waarden retourneren. • DML-bewerkingen kunnen worden gebruikt in opgeslagen procedures; ze zijn echter niet mogelijk in functies. • Functies kunnen slechts één waarde retourneren en deze is verplicht terwijl procedures n of nulwaarden kunnen retourneren. • In functies kan foutafhandeling niet worden uitgevoerd terwijl deze in opgeslagen procedures kan worden uitgevoerd. • Invoer- en uitvoerparameters kunnen worden doorgegeven in procedures, terwijl in het geval van functies; alleen invoerparameters kunnen worden doorgegeven. • Functies kunnen worden aangeroepen vanuit procedures, terwijl het niet mogelijk is om een procedure vanuit een functie aan te roepen. • Transactiebeheer kan in procedures worden overwogen en kan niet worden overwogen in het geval van functies. |