Разлика између процедура и функција у програмирању

Процедура вс функције у програмирању

Поступци и функције у програмирању омогућавају програмерима да групишу упуте заједно у једном блоку и да га се може позивати са разних места у програму. Код постаје лакше разумљив и компактнији. Извођењем модификација на једном месту задесиће се цео код. Уз помоћ функција и процедура; линеарни и дуги код могу се поделити у независне секције. Омогућавају већу флексибилност кодирању различитих програмских језика и база података.

Које су функције?

Функције могу да прихвате параметре који су такође познати као аргументи. Они извршавају задатке према овим аргументима или параметрима и враћају вредности задатих типова. То можемо боље објаснити помоћу примера: Функција прихвата низ као параметар и враћа први унос или запис из базе података. У обзир се узима садржај одређеног поља које започиње таквим знаковима.

Синтакса функције је следећа:

УСТВАРИТЕ ИЛИ ЗАМЕНИТЕ ФУНКЦИЈУ ми_фунц

(п_наме ИН ВАРЦХАР2: = 'Јацк') врати варцхар2 као почетак… крај

Шта су процедуре?

Поступци могу прихватити параметре или аргументе и они извршавају задатке према тим параметрима. Ако поступак прихвата низ као параметар и даје листу са записима у бази података за које садржај одређеног поља започиње таквим знаковима.

Синтакса поступака је следећа:

ПРОЦЕДУРИ ИЛИ ЗАМЕНИ мој_проц

(п_наме ИН ВАРЦХАР2: = 'Јацк') као почетак… крај

Углавном постоје два начина на који се параметар преноси у функцијама и процедурама; према вредности или референци. Ако је параметар пренесен вриједношћу; на промену утиче функција или поступак без утицаја на њену стварну вредност.

С друге стране, ако се параметри прослеђују референцама; стварна вредност овог параметра ће се променити где год се зове унутар кода према упутама.

Разлика између процедура и функција

• Када се параметар пренесе у процедуру; не враћа ниједну вредност док функција увек враћа вредност.

• Једна од главних разлика у обојици је та што се процедуре не користе у базама података, док функције играју важну улогу у враћању вредности из базе података.

• Поступци могу вратити више вриједности, а функције могу вратити ограничене вриједности.

• ДМЛ операције се могу користити у похрањеним процедурама; међутим, оне нису могуће у функцијама.

• Функције могу вратити само једну вриједност и то је обавезно, док процедуре могу вратити н или нула вриједности.

• У функцијама се не може руковати грешкама, док се може изводити у сачуваним процедурама.

• Улазни и излазни параметри могу се просљеђивати у поступцима, док у случају функција; могу се пренијети само улазни параметри.

• Функције се могу позивати из процедура, док из функције није могуће позвати поступак.

• Управљање трансакцијама може се размотрити у поступцима и не може се узети у обзир у случају функција.