Процедуры против функций в программировании
Процедуры и функции в программировании позволяют программистам группировать инструкции в один блок, и его можно вызывать из разных мест в программе. Код становится проще для понимания и компактнее. Выполнение изменений в одном месте повлияет на весь код. С помощью функций и процедур; линейный и длинный код можно разделить на независимые части. Они обеспечивают большую гибкость при кодировании различных языков программирования и баз данных.
Какие есть функции?
Функции могут принимать параметры, также известные как аргументы. Они выполняют задачи в соответствии с этими аргументами или параметрами и возвращают значения заданных типов. Мы можем лучше объяснить это с помощью примера: функция принимает строку в качестве параметра и возвращает первую запись или запись из базы данных. Он учитывает содержимое определенного поля, которое начинается с таких символов.
Синтаксис функции следующий:
СОЗДАТЬ ИЛИ ЗАМЕНИТЬ ФУНКЦИЮ my_func
(p_name IN VARCHAR2: = 'Jack') вернуть varchar2 как начало… конец
Какие процедуры?
Процедуры могут принимать параметры или аргументы и выполнять задачи в соответствии с этими параметрами. Если процедура принимает строку в качестве параметра и выдает список с записями в базе данных, для которых содержимое определенного поля начинается с таких символов.
Синтаксис процедур следующий:
СОЗДАТЬ ИЛИ ЗАМЕНИТЬ ПРОЦЕДУРУ my_proc
(p_name IN VARCHAR2: = 'Jack') как начало… конец
В основном, есть два способа, которыми параметр передается в функциях и процедурах; по стоимости или по ссылке. Если параметр передается значением; изменение затрагивается внутри функции или процедуры, не влияя на их фактическое значение.
С другой стороны, если параметры передаются по ссылкам; фактическое значение этого параметра будет изменено везде, где он вызывается в коде в соответствии с инструкциями.
• Когда параметр передается в процедуру; он не возвращает никакого значения, тогда как функция всегда возвращает значение. • Одно из основных различий в них обоих заключается в том, что процедуры не используются в базах данных, тогда как функции играют важную роль в возврате значений из базы данных. • Процедуры могут возвращать несколько значений, а функции могут возвращать ограниченные значения. • Операции DML могут использоваться в хранимых процедурах; однако это невозможно в функциях. • Функции могут возвращать только одно значение, и это обязательно, тогда как процедуры могут возвращать n или нулевые значения. • В функциях обработка ошибок не может выполняться, тогда как ее можно выполнять в хранимых процедурах. • Входные и выходные параметры могут передаваться в процедурах, тогда как в случае функций; можно передавать только входные параметры. • Функции могут быть вызваны из процедур, тогда как вызов процедуры из функции невозможен. • Управление транзакциями может рассматриваться в процедурах и не может рассматриваться в случае функций. |