Procedurer kontra funktioner i programmering
Procedurer och funktioner i programmering, låter programmerare gruppera instruktioner tillsammans i ett enda block och det kan anropas från olika ställen i programmet. Koden blir lättare att förstå och mer kompakt. Genom att utföra ändringarna på ett enda ställe kommer hela koden att påverkas. Med hjälp av funktioner och procedurer; en linjär och lång kod kan delas in i oberoende sektioner. De ger mer flexibilitet för kodningen av olika programmeringsspråk och databaser.
Vad är funktioner?
Funktioner kan acceptera parametrar som också kallas argument. De utför uppgifterna enligt dessa argument eller parametrar och returnerar värden av givna typer. Vi kan förklara det bättre med hjälp av ett exempel: En funktion accepterar en sträng som en parameter och returnerar den första posten eller posten från en databas. Den tar hänsyn till innehållet för ett specifikt fält som börjar med sådana tecken.
Funktionens syntax är följande:
SKAPA ELLER ERSÄTT FUNKTION my_func
(p_name IN VARCHAR2:=‘Jack’) returnera varchar2 som start … end
Vad är procedurer?
Procedurer kan acceptera parametrarna eller argumenten och de utför uppgifter enligt dessa parametrar. Om en procedur accepterar en sträng som en parameter och den ger ut en lista med poster i databasen där innehållet i ett specifikt fält börjar med sådana tecken.
Syntaxen för procedurer är följande:
SKAPA ELLER ERSÄTT PROCEDUR my_proc
(p_name IN VARCHAR2:=‘Jack’) as start … end
Det finns huvudsakligen två sätt på vilka en parameter skickas i funktioner och procedurer; efter värde eller genom referens. Om parametern skickas av ett värde; ändringen påverkas inom funktionen eller proceduren utan att det påverkar det faktiska värdet av den.
Å andra sidan, om parametrarna skickas av referenser; det faktiska värdet för denna parameter kommer att ändras varhelst den anropas i koden enligt instruktionerna.
Skillnad mellan procedurer och funktioner
• När parametern skickas in i proceduren; den returnerar inget värde medan en funktion alltid returnerar ett värde.
• En av de stora skillnaderna i båda är att procedurer inte används i databaser medan funktioner spelar en viktig roll för att returnera värden från en databas.
• Procedurer kan returnera flera värden och funktionerna kan returnera begränsade värden.
• DML-operationer kan användas i lagrade procedurer; de är dock inte möjliga i funktioner.
• Funktioner kan endast returnera ett värde och det är obligatoriskt medan procedurer kan returnera n eller noll värden.
• I funktioner kan felhantering inte utföras medan det kan utföras i lagrade procedurer.
• In- och utgångsparametrar kan skickas i procedurer medan det gäller funktioner; endast inmatningsparametrar kan skickas.
• Funktioner kan anropas från procedurer medan det inte är möjligt att anropa en procedur från en funktion.
• Transaktionshantering kan övervägas i procedurer och det kan inte beaktas vid funktioner.