Съхранена процедура срещу функция
Съхранените процедури и функции са два вида програмиращи блока. И двамата трябва да имат имена за повикване. Тези извикващи имена се използват за извикването им в друг програмен блок, като функции на процедури и пакети или SQL заявки. И двата типа обект приемат параметри и изпълняват задачата зад тези обекти. Това е синтаксисът (в ORACLE) за създаване на съхранена процедура,
създаване или замяна на името на процедурата (параметри)
като
започвам
изявления;
изключение
обработка на изключения
край;
И тук е синтаксисът за създаване на функция (в ORACLE),
създаване или замяна на функция function_name (параметри)
return return_datatype
като
започвам
изявления;
return return_value / променлива;
изключение;
обработка на изключения;
край;
Съхранени процедури
Както бе споменато по-горе, съхранените процедури се наричат програмни блокове. Те приемат параметри като потребителски вход и обработват според логиката, която стои зад процедурата и дават резултата (или извършват конкретно действие). Тези параметри могат да бъдат типове IN, OUT и INOUT. Променливи декларации, присвояване на променливи, контролни оператори, цикли, SQL заявки и други функции / процедура / пакетни обаждания могат да бъдат в основата на процедурите.
Функции
Функциите също са наречени блокове за програмиране, които трябва да върнат стойност, използвайки оператора RETURN, и преди да върне стойност, тялото му също извършва някои действия (според дадената логика). Функциите също приемат параметри за изпълнение. Функциите могат да се извикат вътре в заявките. Когато функция се извиква вътре в SELECT заявка, тя се прилага към всеки ред от набора от резултати от SELECT заявката. Има няколко категории функции ORACLE. Те са,
Има подкатегории на един ред функции.
Каква е разликата между функция и съхранена процедура? • Всички функции трябва да върнат стойност, използвайки оператора RETURN. Съхранените процедури не връщат стойности, използвайки оператора RETURN. RETURN оператор в рамките на процедура ще върне контрола си на извикващата програма. OUT параметрите могат да се използват за връщане на стойности от съхранени процедури. • Функциите могат да се извикват вътре в заявките, но запаметените процедури не могат да се използват вътре в заявките. • RETURN тип данни трябва да бъде включен, за да се създаде функция, но в съхранявана процедура DDL, това не е така. |