Увод у окидаче у ПЛ / СКЛ

Окидачи базе података су ПЛ / СКЛ код који се извршава на основу догађаја у бази података као што су ИНСЕРТ, УПДАТЕ, Алтер, Дроп, Пријава, одјава, итд. Окидачи базе података помажу нам да једноставним и кратким одржавамо СКЛ кодове. Окидачи базе података корисни су за управљање свим промјенама и праћење свих тих промјена помоћу Ажурирања, Брисања, Промјене, пријаве, одјаве, итд. У схемама Датабасе, Датабасе и његовим табелама.

Имамо 3 врсте окидача ДБ:

1. ДМЛ (језик манипулације подацима): ДМЛ окидачи се извршавају на ИНСЕРТ, УПДАТЕ & ДЕЛЕТЕ у табелама.

2. ДДЛ (језик дефиниције података): Овај окидач се покреће на Цреате, Алтер, Дроп, Анализе, Аудит, Грант, итд.

3. Догађај базе података: Извршавање окидача ДБ догађаја на основу ЛОГОН-а, ЛОГОФФ-а, Суспенд-а, покретања базе података, искључивања базе података и других ДБ-ових грешака.

Ево још једне карактеристике ДБ окидача:

ДБ окидач: То је ПЛ / СКЛ код повезан са приказом таблице или ДБ догађајем.
Изводи се на основу ДБ активности

  • Пре и после, Унесите, УПДАТЕ, ДЕЛЕТЕ.
  • Извршава се једном по догађајима покретања или једном у реду који је окидач захваћен.

Извршите на основу покретања / искључивања / грешке система / искључивања података.

Како створити окидаче у ПЛ / СКЛ?

Ево следећих корака за креирање окидача у ПЛ / СКЛ

1. ДМЛ окидачи

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

  • Након окидача / За окидаче
  • Уместо окидача

НАКОН што се активира након активирања. Изјаве ДЕЛЕТЕ, УПДАТЕ и ИНСЕРТ су пример иза активирања.
УМЕСИТЕ окидаче уместо акције. Изјаве ДЕЛЕТЕ, УПДАТЕ и ИНСЕРТ такође су део тога.

Пример:

За наше примере користићемо табеле Емплоиее анд ЕмплоиееАудит.

СКЛ скрипта за креирање табеле запосленика:

CREATE TABLE Employee
(
Id int Primary Key,
Name nvarchar(30),
Salary int,
Gender nvarchar(10),
DepartmentId int
)
Insert data into Employee table
Insert into Employee values (1, 'Prakash', 5000, 'Male', 3)
Insert into Employee values (2, 'Robert', 3400, 'Male', 2)
Insert into Employee values (3, 'Anji', 6000, 'Female', 1)

Табела запослених

СКЛ скрипта за креирање таблице ЕмплоиееАудит:

CREATE TABLE EmployeeAudit
(
Id int identity(1, 1) primary key,
AuditData nvarchar(1000)
)

забележит ћемо ИД и датум и време Кад год се у запослену дода табела ЕмплоиееАудит. Ово је најлакши програм за дефинисање НАКОН ТРИГГЕРА за ИНСЕРТ догађај.

2. ДДЛ окидачи

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

Синтакса

CREATE TRIGGER trigger_name
ON (DATABASE | ALL SERVER)
(WITH ddl_trigger_option) FOR (event_type | event_group )
AS (sql_statement)

Име_ окидача је да одредите дефинисано име окидача након кључних речи ЦРЕАТЕ ТРИГГЕР. такође, не морате да одредите шему базе података јер није повезана са стварном таблицом или приказом базе података.

База података | Алл Сервер: Ако се окидач активира на догађајима обухваћеним сервером, тада можемо употребити СВИ СЕРВЕР. Користите ДАТАБАСЕ ако се окидач активира на догађајима обухваћеним базом података

ддл_триггер_оптион: Одређује ЕНЦРИПТИОН и / или ЕКСЕЦУТЕ АС клаузулу.

евент_типе | евент_гроуп: евент_гроуп је група догађаја догадјаја као што су ДДЛ_ТАБЛЕ_ЕВЕНТС & евент_типе указује на ДДЛ догађај који изазива паљење окидача као што су, АЛТЕР_ТАБЛЕ, ЦРЕАТЕ_ТАБЛЕ, итд.

Пример:

Покретање окидача као одговор на ЦРЕАТЕ_ТАБЛЕ ДДЛ догађај.

CREATE TRIGGER MyFirstTrigger
ON Database
FOR CREATE_TABLE
AS
BEGIN
Print 'New table created'
END

Проверите да ли је окидач креиран у директоријуму окидача базе података и ако га не добијете, освежите мапу (окидач базе података).

3. Догађај базе података

Може се користити за било које ДБ догађаје као што су ЛОГОН, ЛОГОФФ, Суспенд, покретање базе података, Искључивање базе података

Синтакса:

CREATE (OR REPLACE) TRIGGER trigger_name
(BEFORE | AFTER) (database_event) ON (DATABASE | SCHEMA)
DECLARE
…some code…
END;

Име_ окидача је да одредите дефинисано име окидача након кључних речи ЦРЕАТЕ ТРИГГЕР.

датабасе_евент се у основи догађа у базама података као што су одјава, одјава, искључивање итд. Можемо одабрати која ће база података или шема овај окидач радити.

Пример: покретач одјаве

Овде можемо демонстрирати окидач догађаја базе података ЛОГОФФ. Овај окидач створиће један запис у табели (одјава) када било ко прекине везу.
Овај окидач ће забележити име корисника и време прекида везе.

Израда табле за одјављивање:

create table logoff_table (
who varchar2(30),
when date
);

Израда покретача одјаве:

create trigger trg_logoff
before logoff on database
begin
insert into logoff_table values(sys_context('userenv', 'session_user'), sysdate);
end;
/

Овде у горњем окидачу направили смо Тиггер да надгледа Логофф било којег корисника. Овај покретач ће се извршити одјавом корисника база података након одјаве. Табела за одјављивање чува неке детаље Корисничко име и време за одјаву (Можете одредити детаље према захтеву).

На исти начин можемо створити још један окидач који ће пратити и сместити детаље о пријави за било коју одређену базу података. Окидачи догађаја базе података корисни су у рјешавању проблема.
Сва имена табела су специфична за захтев, можемо променити њихова имена према захтевима.

Предност окидача у ПЛ / СКЛ

  • Добро за ревизијске трагове.
  • Добро за манипулирање подацима.
  • Примена сложених безбедносних шема.
  • Примена правила пословања.
  • Спречите промене у бази података и шеми.
  • ПЛ / СКЛ код краћи је помоћу окидача.
  • Пратите промјене у таблицама база података, шема и ДБ.
  • Управљање акционим записима у бази података корисно је за решавање проблема.
  • Није потребно ручно провјеравати промјене у бази података, окидач увијек сам дјелује на одређеном догађају.

Закључак

Ево овог поглавља, сазнали смо о врстама окидача као што су ДДЛ, ДМЛ и окидачи догађаја базе података. Такође смо научили док се ДДЛ окидач може користити за ИНСЕРТ, УПДАТЕ, ДЕЛЕТЕ, итд. Изјаве и ДМЛ окидачи дизајнирани су за креирање, промену, испадање, итд. У таблицама база података, али активирање догађаја базе података делује када постоји одјава са пријавом, Обустави, Акција покретања базе података изведена у бази података.

Синтаксу сваког окидача лако је разумети и може се лако претворити у ПЛ / СКЛ код. ПЛ / СКЛ програм као што је активирање Логофф-а дао је преглед како ће окидач базе података радити у случају да се неки корисник одјави из своје базе података. У ДМЛ Триггер-у смо показали како ће НАКОН ТРИГЕРА радити након што се појави нови улазак било којег новог запосленог. ДДЛ окидачи су корисни у спречавању било каквих одређених промена у бази података и шеми.

Препоручени чланци

Ово је водич за окидаче у ПЛ / СКЛ. Овдје смо расправљали о томе како створити окидаче у ПЛ / СКЛ-у с примјерима и предностима. Такође можете погледати следећи чланак.

  1. Курсори у ПЛ / СКЛ
  2. ЦАСЕ изјава у ПЛ / СКЛ
  3. Шта је ПЛ / СКЛ?
  4. ПЛ / СКЛ команде
  5. Примарни кључ вс страни кључ | Топ разлике

Категорија: