Разница между функцией и процедурой
Опубликовано: 27 Декабря, 2021
Функция:
Это одна из фундаментальных идей компьютерного программирования. Он используется для вычисления чего-либо из заданного ввода. Отсюда и название от математики. Функция может быть определена пользователем или предопределена. Функциональная программа имеет блок кода, который выполняет определенные задачи или функции.
Процедура:
При программировании определенного набора инструкций или команд, известного как процедура. В зависимости от языка программирования она известна как процедура, подпрограмма, функция или подпрограмма.
Разница между функцией и процедурой:
S.NO | Функция | Процедура |
---|---|---|
1. | Функция работает как выражение. | В то время как процедура не имеет отношения к выражению. |
2. | Функция используется для вычисления чего-либо из заданного ввода. Отсюда и название от математики. | В то время как процедура - это набор команд, которые выполняются по порядку. |
3. | Функция может быть вызвана процедурой. | Но процедура не может быть вызвана функцией. |
4. | В sql внутри функции мы не можем использовать команды DML (язык обработки данных), такие как Insert, Delete, Update. | Здесь, в sql, внутри процедуры мы можем использовать команды DML. |
5. | Функции можно вызывать через запросы sql. | Однако процедуру нельзя вызвать через sql-запрос. |
6. | Каждый раз функции компилируются при их вызове. | Принимая во внимание, что процедуры компилируются только один раз и могут вызываться снова и снова по мере необходимости, не компилируясь каждый раз. |
7. | Оператор return функции возвращает элемент управления и результат функции вызывающей программе. | Хотя оператор return процедуры возвращает управление вызывающей программе, он не может вернуть значение результата. |
8. | Функция не поддерживает блоки try-catch. | Хотя он поддерживает блоки try-catch. |
9. | Функцией можно управлять в операторе SELECT. | Хотя с ним нельзя работать в инструкции SELECT. |
10. | Функция не поддерживает явные дескрипторы транзакций. | Пока процедура поддерживает явные дескрипторы транзакций. |