Разлика између сачуваног поступка и функције

Похрањени поступак вс функција
 

Похрањене процедуре и функције су двије врсте програмских блокова. Обоје морају имати имена. Та имена позивања користе се за позивање унутар другог програмског блока, попут функција процедура и пакета или СКЛ упита. Обје ове врсте објеката прихватају параметре и извршавају задатак иза тих објеката. Ово је синтакса (у ОРАЦЛЕ) за креирање сачуване процедуре,

 креирање или замена имена процедуре поступка (параметри)

 као

 започети

     изјаве;

 изузетак

     Изузетак руковање

 крај;

А овде је синтакса за креирање функције (у ОРАЦЛЕ),

креирање или замена функције фунцтион_наме (параметри)

ретурн ретурн_дататипе

као

започети

изјаве;

ретурн ретурн_валуе / променљива;

изузетак;

Изузетак руковање;

крај;

Похрањени поступци

Као што је горе споменуто, похрањене процедуре су именоване програмским блоковима. Они прихваћају параметре као кориснички унос и обраду у складу са логиком поступка и дају резултат (или обављају одређену радњу). Ови параметри могу бити ИН, ОУТ и ИНОУТ типови. Декларације променљивих, додељивање променљивих, контролни изрази, петље, СКЛ упити и остале функције / процедура / пакетни позиви могу бити унутар тела процедура.

Функције

Функције се називају и програмским блоковима који морају вратити вредност помоћу РЕТУРН израза, а пре него што врати вредност, тело такође извршава неке акције (у складу са заданом логиком). Функције такође прихватају параметре за покретање. Функције се могу позвати унутар упита. Када се функција зове унутар СЕЛЕЦТ упита, она се примјењује на сваки ред резултата резултата СЕЛЕЦТ упита. Постоји неколико категорија ОРАЦЛЕ функција. Су,

  • Функције појединачног реда (враћа један резултат за сваки ред упита)

Постоје подкатегорије функција једног реда.

  • Нумеричка функција (Нпр .: АБС, СИН, ЦОС)
  • Функција карактера (нпр. ЦОНЦАТ, ИНИТЦАП)
  • Функција времена (нпр. ЛАСТ_ДАИ, НЕКСТ_ДАИ)
  • Функције конверзије (нпр .: ТО_ЦХАР, ТО_ДАТЕ)
  • Функција сакупљања (На пример: КАРДИНАЛНОСТ, СЕТ)
  • Функције здруживања (Враћа један ред на основу групе редова. Нпр. АВГ, СУМ, МАКС)
  • Аналитичке функције
  • Референтне функције објекта
  • Функције модела
  • Кориснички дефиниране функције

Која је разлика између функције и ускладиштеног поступка?

• Све функције морају вратити вриједност користећи РЕТУРН израз. Похрањене процедуре не враћају вриједности користећи РЕТУРН израз. РЕТУРН изјава унутар процедуре ће вратити контролу позивајућем програму. ОУТ параметри се могу користити за враћање вредности из похрањених процедура.

• Функције се могу позивати унутар упита, али похрањене процедуре се не могу користити унутар упита.

• РЕТУРН тип података мора бити укључен да бисте креирали функцију, али у ДДЛ похрањеној процедури то није.