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

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

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

Видео: Разница между процедурами и функциями в программировании
Видео: Какие есть отличия между процедурами и функциями в C#? 2024, Ноябрь
Anonim

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

Процедуры и функции в программировании позволяют программистам группировать инструкции в один блок, и его можно вызывать из разных мест в программе. Код становится проще для понимания и компактнее. Выполнение изменений в одном месте повлияет на весь код. С помощью функций и процедур; линейный и длинный код можно разделить на независимые части. Они обеспечивают большую гибкость при кодировании различных языков программирования и баз данных.

Какие есть функции?

Функции могут принимать параметры, также известные как аргументы. Они выполняют задачи в соответствии с этими аргументами или параметрами и возвращают значения заданных типов. Мы можем лучше объяснить это с помощью примера: функция принимает строку в качестве параметра и возвращает первую запись или запись из базы данных. Он учитывает содержимое определенного поля, которое начинается с таких символов.

Синтаксис функции следующий:

СОЗДАТЬ ИЛИ ЗАМЕНИТЬ ФУНКЦИЮ my_func

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

Какие процедуры?

Процедуры могут принимать параметры или аргументы и выполнять задачи в соответствии с этими параметрами. Если процедура принимает строку в качестве параметра и выдает список с записями в базе данных, для которых содержимое определенного поля начинается с таких символов.

Синтаксис процедур следующий:

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

(p_name IN VARCHAR2: = 'Jack') как начало… конец

В основном, есть два способа, которыми параметр передается в функциях и процедурах; по стоимости или по ссылке. Если параметр передается значением; изменение затрагивается внутри функции или процедуры, не влияя на их фактическое значение.

С другой стороны, если параметры передаются по ссылкам; фактическое значение этого параметра будет изменено везде, где он вызывается в коде в соответствии с инструкциями.

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

• Одно из основных различий в них обоих заключается в том, что процедуры не используются в базах данных, тогда как функции играют важную роль в возврате значений из базы данных.

• Процедуры могут возвращать несколько значений, а функции могут возвращать ограниченные значения.

• Операции DML могут использоваться в хранимых процедурах; однако это невозможно в функциях.

• Функции могут возвращать только одно значение, и это обязательно, тогда как процедуры могут возвращать n или нулевые значения.

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

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

• Функции могут быть вызваны из процедур, тогда как вызов процедуры из функции невозможен.

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

Рекомендуем: