Процедура вс функције у програмирању
Поступци и функције у програмирању омогућавају програмерима да групишу упуте заједно у једном блоку и да га се може позивати са разних места у програму. Код постаје лакше разумљив и компактнији. Извођењем модификација на једном месту задесиће се цео код. Уз помоћ функција и процедура; линеарни и дуги код могу се поделити у независне секције. Омогућавају већу флексибилност кодирању различитих програмских језика и база података.
Које су функције?
Функције могу да прихвате параметре који су такође познати као аргументи. Они извршавају задатке према овим аргументима или параметрима и враћају вредности задатих типова. То можемо боље објаснити помоћу примера: Функција прихвата низ као параметар и враћа први унос или запис из базе података. У обзир се узима садржај одређеног поља које започиње таквим знаковима.
Синтакса функције је следећа:
УСТВАРИТЕ ИЛИ ЗАМЕНИТЕ ФУНКЦИЈУ ми_фунц
(п_наме ИН ВАРЦХАР2: = 'Јацк') врати варцхар2 као почетак… крај
Шта су процедуре?
Поступци могу прихватити параметре или аргументе и они извршавају задатке према тим параметрима. Ако поступак прихвата низ као параметар и даје листу са записима у бази података за које садржај одређеног поља започиње таквим знаковима.
Синтакса поступака је следећа:
ПРОЦЕДУРИ ИЛИ ЗАМЕНИ мој_проц
(п_наме ИН ВАРЦХАР2: = 'Јацк') као почетак… крај
Углавном постоје два начина на који се параметар преноси у функцијама и процедурама; према вредности или референци. Ако је параметар пренесен вриједношћу; на промену утиче функција или поступак без утицаја на њену стварну вредност.
С друге стране, ако се параметри прослеђују референцама; стварна вредност овог параметра ће се променити где год се зове унутар кода према упутама.
Разлика између процедура и функција • Када се параметар пренесе у процедуру; не враћа ниједну вредност док функција увек враћа вредност. • Једна од главних разлика у обојици је та што се процедуре не користе у базама података, док функције играју важну улогу у враћању вредности из базе података. • Поступци могу вратити више вриједности, а функције могу вратити ограничене вриједности. • ДМЛ операције се могу користити у похрањеним процедурама; међутим, оне нису могуће у функцијама. • Функције могу вратити само једну вриједност и то је обавезно, док процедуре могу вратити н или нула вриједности. • У функцијама се не може руковати грешкама, док се може изводити у сачуваним процедурама. • Улазни и излазни параметри могу се просљеђивати у поступцима, док у случају функција; могу се пренијети само улазни параметри. • Функције се могу позивати из процедура, док из функције није могуће позвати поступак. • Управљање трансакцијама може се размотрити у поступцима и не може се узети у обзир у случају функција. |