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