Protsess, mille abil tema sisse kirjatatud tegevused automaatselt käivitatakse.
CREATE TABLE tootajaAndmed
(
tootajaId int PRIMARY KEY AUTO_INCREMENT,
nimi varchar(20) not null,
perekonnanimi varchar(20) not null,
ylesanned text);
CREATE TABLE logi
(
logiId int PRIMARY KEY AUTO_INCREMENT,
kasutaja varchar(30),
kuupaev datetime,
sissestatudAndmed text)
Localhost
Triger, mis jälgib andmete sisestamine tabelisse
CREATE TRIGGER `insertTootaja`
BEFORE INSERT ON `tootajaandmed`
FOR EACH ROW INSERT into logi(kasutaja, kuupaev, sissestatudAndmed) values(USER(), NOW(),
Concat('lisatud andmed: ', NEW.nimi,' ', NEW.perekonnanimi,'ülesanded ', NEW.ylesanned))
Triger, mis jälgib andmete kustutamine tabelist
CREATE TRIGGER `deleteTootaja` BEFORE DELETE ON `tootajaandmed` FOR EACH ROW INSERT into logi(kasutaja, kuupaev, sissestatudAndmed) values(USER(), NOW(), Concat('Kustutatud andmed: ', OLD.nimi,' ', OLD.perekonnanimi,', ülesanded: ', OLD.ylesanned))
Triger, mis jälgib andmete uuendamine tabelist
CREATE TRIGGER `updateTootaja` BEFORE UPDATE ON `tootajaandmed` FOR EACH ROW INSERT into logi(kasutaja, kuupaev, sissestatudAndmed) values(USER(), NOW(), Concat('Vanad andmed: ', OLD.nimi,' ', OLD.perekonnanimi,', ülesanded: ', OLD.ylesanned, 'UUED andmed: ', NEW.nimi,' ', NEW.perekonnanimi,', ülesanded: ', NEW.ylesanned))
SQL server
Triger, mis jälgib andmete sisestamine tabelisse
CREATE TRIGGER insertTootaja ON tootajaandmed
FOR INSERT AS INSERT INTO logi(kasutaja, kuupaev, sissestatudAndmed)
SELECT USER, GETDATE(), Concat('Lisatud andmed: ', inserted.nimi, ' ', inserted.perekonnanimi) FROM inserted
insert into tootajaAndmed(nimi,perekonnanimi)
values('Danik','Borisov');
select * from tootajaAndmed;
select * from logi

Triger, mis jälgib andmete kustutamine tabelist
CREATE TRIGGER deleteTootaja ON tootajaandmed
FOR DELETE AS INSERT INTO logi(kasutaja, kuupaev, sissestatudAndmed)
SELECT USER, GETDATE(), Concat('Kustutatud andmed: ', deleted.nimi, ' ', deleted.perekonnanimi) FROM deleted
select * from tootajaAndmed;
delete from tootajaAndmed where tootajaId=2;
select * from tootajaAndmed;
select * from logi

Triger, mis jälgib andmete uuendamine tabelist
CREATE TRIGGER updateTootaja ON tootajaandmed
FOR UPDATE AS INSERT INTO logi(kasutaja, kuupaev, sissestatudAndmed)
SELECT USER, GETDATE(), Concat('Vanad andmed: ', deleted.nimi, ' ', deleted.perekonnanimi,'---->', inserted.nimi, ' ', inserted.perekonnanimi) FROM deleted INNER JOIN inserted
ON inserted.tootajaId = deleted.tootajaId
select * from tootajaAndmed;
update tootajaAndmed set nimi='Gregor' where tootajaId=1;
select * from tootajaAndmed;
select * from logi
