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