Рецоммендед, 2024

Избор Уредника

Разлика између окидача и процедуре

Окидач и процедура су компонента напредног СКЛ-а. Триггер и Процедура оба извршавају задати задатак за њихово извршење. Основна разлика између Триггер-а и Процедуре-а је да се Триггер аутоматски извршава на појавама догађаја док се Процедура извршава када је експлицитно позвана.

Поразговарајмо о још неким разликама између Триггер-а и Процедура уз помоћ табеле за поређење приказане испод.

Цомпарисон Цхарт

Основа за поређењеТриггерсПроцедуре
БасицОни се аутоматски извршавају приликом појављивања одређеног догађаја.Могу се извршити кад год је то потребно.
ЗовеОкидачи се не могу позвати унутар процедуре.Али, можете позвати процедуру унутар окидача.
ПараметарНе можемо да проследимо параметре окидачима.Можемо да проследимо параметре процедурама.
ПовратакТриггер никада не враћа вредност на извршење.Процедура може вратити вредност / с на извршење.

Дефиниција окидача

Окидач је као процедура која се аутоматски извршава када се догоди одређени догађај. Као и процедура, окидач не мора бити позван експлицитно. Креирају се окидачи за извођење неког задатка као одговор на појаву неког одређеног догађаја.

Окидач се може позвати као одговор на ДДЛ изјаве (ДЕЛЕТЕ, ИНСЕРТ, или УПДАТЕ) или ДМЛ изјаве (ДЕЛЕТЕ, ИНСЕРТ, или УПДАТЕ) или, на неке операције базе података (СЕРВЕРЕРРОР, ЛОГОН, ЛОГОФФ, СТАРТУП или СХУТДОВН).

Окидач се састоји од три компоненте:

  • Догађај : Догађај је појава неког инцидента који ће проузроковати извршење окидача. Окидач се може наредити да се изврши или пре него што се догоди догађај или се може наредити да се изврши НАКОН извршења догађаја.
  • Услов : То је опциони део окидача. Ако се не помене окидач ће се извршити као што се догоди одређени догађај. Ако је услов наведен, онда ће проверити правила да би одредио да ли се окидач треба извршити.
  • Акција : Акција је скуп СКЛ израза који ће се извршити на извршењу Триггера.

Општи облик стварања догађаја описан је у наставку:

 СТВОРИТЕ ТРИГГЕР ПРЕ / ПОСЛЕ АКЦИЈЕ; 

Овде, услов је опционалан.

Дефиниција процедура

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

Процедуре су корисне у следећим ситуацијама:

  • Ако је процедура потребна за неколико других апликација, онда се она може ускладиштити на серверу тако да се може позвати било којом апликацијом. То ће смањити напор дуплицирања процедуре из једне базе података у другу и такође побољшати модуларност софтвера.
  • Како се процедура извршава на серверу, то ће смањити пренос података и смањити трошкове комуникације.
  • Поступци се могу користити за провјеру сложених ограничења која су изван моћи окидача.

Разговарајмо о општем облику креирања процедуре:

 СТВОРИТЕ ПОСТУПАК () ПОВРАТАК; 

Овде су параметри и локалне декларације опционални. Они се помињу само када су потребни. Изјава испод описује позивање процедура.

 ЦАЛЛ (); 

Кључне разлике између окидача и процедуре

  1. Основна разлика између окидача и процедуре је у томе што је окидач израз који се аутоматски позива када се догоди догађај. С друге стране, процедура се позива кад год је то потребно.
  2. Може се дефинисати процедура унутар окидача. Али, окидач се никада не дефинише унутар процедуре јер се окидач мора аутоматски позвати на појаву било ког догађаја.
  3. Можемо да проследимо параметре процедурама, али не можемо да проследимо параметре који се покрећу, јер их ми не позивамо.
  4. Процедура може вратити вриједности параметара или код, али окидач не може.

Закључак:

Окидачи су корисни, али се избегавају ако за њих постоји алтернатива, јер повећава комплексност података. Понекад се активирају и замене одговарајућом процедуром.

Top