Разлика между процедурите и функциите в програмирането

Разлика между процедурите и функциите в програмирането
Разлика между процедурите и функциите в програмирането

Видео: Разлика между процедурите и функциите в програмирането

Видео: Разлика между процедурите и функциите в програмирането
Видео: Отношения между классами 2024, Ноември
Anonim

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

Процедури и функции в програмирането, позволяват на програмистите да групират инструкции заедно в един блок и те могат да бъдат извиквани от различни места в програмата. Кодът става по-лесен за разбиране и по-компактен. Извършвайки модификациите на едно място, целият код ще бъде засегнат. С помощта на функции и процедури; линеен и дълъг код могат да бъдат разделени на независими раздели. Те осигуряват по-голяма гъвкавост при кодирането на различни програмни езици и бази данни.

Какво представляват функциите?

Функциите могат да приемат параметри, които също са известни като аргументи. Те изпълняват задачите според тези аргументи или параметри и връщат стойности от дадени типове. Можем да го обясним по-добре с помощта на пример: Функция приема низ като параметър и връща първия запис или запис от база данни. Той отчита съдържанието на конкретно поле, което започва с такива знаци.

Синтаксисът на функцията е както следва:

СЪЗДАЙТЕ ИЛИ ЗАМЕНЕТЕ ФУНКЦИЯ my_func

(p_name IN VARCHAR2: = 'Jack') върнете varchar2 като начало … край

Какви са процедурите?

Процедурите могат да приемат параметрите или аргументите и изпълняват задачи според тези параметри. Ако дадена процедура приема низ като параметър и тя издава списък със записи в базата данни, за които съдържанието на конкретно поле започва с такива символи.

Синтаксисът на процедурите е следният:

СЪЗДАЙТЕ ИЛИ ЗАМЕНЕТЕ ПРОЦЕДУРА my_proc

(p_name IN VARCHAR2: = 'Jack') като начало … край

Основно има два начина, по които даден параметър се предава във функции и процедури; по стойност или по препратка. Ако параметърът е предаден от стойност; модификацията е засегната в рамките на функцията или процедурата, без да се засяга действителната стойност на нея.

От друга страна, ако параметрите се предават чрез препратки; действителната стойност на този параметър ще бъде променена навсякъде, където той е извикан в рамките на кода съгласно инструкциите.

• Когато параметърът е предаден в процедурата; той не връща никаква стойност, докато функция винаги връща стойност.

• Една от основните разлики и в двете е, че процедурите не се използват в бази данни, докато функциите играят важна роля при връщането на стойности от база данни.

• Процедурите могат да връщат множество стойности, а функциите могат да връщат ограничени стойности.

• DML операции могат да се използват в съхранени процедури; те обаче не са възможни във функциите.

• Функциите могат да върнат само една стойност и това е задължително, докато процедурите могат да върнат n или нула стойности.

• Във функциите обработката на грешки не може да се извърши, докато може да се извърши в съхранени процедури.

• Входните и изходните параметри могат да се предават в процедури, докато в случай на функции; могат да се предават само входни параметри.

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

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

Препоръчано: