Trigerid

Triger (trigger, päästik) – protsess, mille abil tema sisse kirjutatud tegevused (INSERT, DELETE, UPDATE) automaatselt kävitatakse.

SQL

Lisamine

Triggeri loomine // Создание тригера добавление

Create Trigger linnaLisamine
On linnad
For insert 
as
insert into logi(aeg, kasutaja, toiming, andmed)
select 
GETDATE(),
SYSTEM_User,
'linn on lisatud',
inserted.linnanimi
from inserted;

Triggeri kasutamine // Использование тригера

insert into linnad(linnanimi, rahvaarv)
Values('Tallinn', 650000);
select * from linnad;
select * from logi;

Tulemus// Результат

Kustutamine

Triggeri loomine // Создание тригера добавление

Create Trigger linnaKustutamine
On linnad
For delete
as
insert into logi(aeg, kasutaja, toiming, andmed)
select 
GETDATE(),
SYSTEM_User,
'linn on kustutatud',
deleted.linnanimi
from deleted;

Triggeri kasutamine // Использование тригера

DELETE from linnad where linnID=1;
select * from linnad; 
select * from logi;

Tulemus// Результат

Uuendamine

Triggeri loomine // Создание тригера

Create Trigger linnaUuendamine
On linnad
For update
as
insert into logi(aeg, kasutaja, toiming, andmed)
select 
GETDATE(),
SYSTEM_User,
'linn on uuendatud',
Concat ('vanad andmed: ', deleted.linnanimi,' ,', deleted.rahvaarv,
'uued andmed: ', inserted.linnanimi, ' ,', inserted.rahvaarv)
from deleted
inner join inserted
on deleted.linnID=inserted.linnID;

Triggeri kasutamine // Использование тригера

Update linnad set rahvaarv=650001
WHERE linnID=2;
select * from linnad;
select * from logi;

Tulemus// Результат

XAMPP

Lisamine

Triggeri loomine // Создание тригера добавление

Triggeri kasutamine // Использование тригера

Tulemus// Результат

Uuendamine

Triggeri loomine // Создание тригера добавление

Triggeri kasutamine // Использование тригера

Tulemus// Результат

Kustutamine

Triggeri loomine // Создание тригера добавление

Tulemus// Результат