Procedury vs funkce v programování
Procedury a funkce v programování umožňují programátorům seskupovat instrukce společně do jednoho bloku a lze je volat z různých míst v programu. Kód se stává srozumitelnějším a kompaktnějším. Provedením úprav na jednom místě bude ovlivněn celý kód. S pomocí funkcí a postupů; lineární a dlouhý kód lze rozdělit na nezávislé sekce. Poskytují větší flexibilitu při kódování různých programovacích jazyků a databází.
Co jsou funkce?
Funkce jsou schopny akceptovat parametry, které jsou známé také jako argumenty. Plní úkoly podle těchto argumentů nebo parametrů a vracejí hodnoty daných typů. Můžeme to vysvětlit lépe pomocí příkladu: Funkce přijímá řetězec jako parametr a vrací první záznam nebo záznam z databáze. Zohledňuje obsah konkrétního pole, které začíná těmito znaky.
Syntaxe funkce je následující:
VYTVOŘENÍ NEBO VÝMĚNA FUNKCE my_func
(p_name IN VARCHAR2: = 'Jack') vrátí varchar2 jako začátek ... konec
Jaké jsou postupy?
Procedury mohou akceptovat parametry nebo argumenty a vykonávají úkoly podle těchto parametrů. Pokud procedura přijímá řetězec jako parametr a vydává seznam se záznamy v databázi, pro které obsah konkrétního pole začíná těmito znaky.
Syntaxe procedur je následující:
VYTVOŘENÍ NEBO VÝMĚNA POSTUPU my_proc
(p_name IN VARCHAR2: = 'Jack') jako začátek ... konec
Hlavně existují dva způsoby, kterými je parametr předáván ve funkcích a postupech; hodnotou nebo odkazem. Pokud je parametr předán hodnotou; změna je ovlivněna v rámci funkce nebo postupu, aniž by byla ovlivněna její skutečná hodnota.
Na druhé straně, pokud jsou parametry předávány odkazy; skutečná hodnota tohoto parametru se změní, kdekoli se v kódu vyvolá, podle pokynů.
Rozdíl mezi procedurami a funkcemi • Když je parametr předán do procedury; nevrací žádnou hodnotu, zatímco funkce vždy vrací hodnotu. • Jedním z hlavních rozdílů v obou je to, že procedury se nepoužívají v databázích, zatímco funkce hrají důležitou roli při vracení hodnot z databáze.. • Procedury jsou schopny vracet více hodnot a funkce jsou schopny vracet omezené hodnoty. • Operace DML lze použít v uložených procedurách; nejsou však ve funkcích možné. • Funkce mohou vracet pouze jednu hodnotu a jsou povinné, zatímco procedury mohou vracet hodnoty n nebo nula. • Ve funkcích nelze zpracovat chyby, zatímco to lze provést v uložených procedurách. • Vstupní a výstupní parametry lze předávat v procedurách, zatímco v případě funkcí; lze předat pouze vstupní parametry. • Funkce lze volat z procedur, zatímco není možné volat proceduru z funkce. • Řízení transakcí lze považovat za procedury a v případě funkcí to nelze vzít v úvahu. |