Protsess, mille abil tema sisse kirjutatud tegevused automaatselt käivitatakse.
LocalHost
CREATE TABLE tootajaandmed(
tootajaID int PRIMARY KEY AUTO_INCREMENT,
nimi varchar(15) not null,
parenimi varchar(30) not null,
ylesanded text);
CREATE TABLE logi(
logiID int PRIMARY KEY AUTO_INCREMENT,
kasutaja varchar(30),
kuupaev datetime,
sissestatudandmed text);
Triger, mis jälgib andmete sisestamine “tootajaandmed” tabelisse.

VALUES (USER(), NOW(), CONCAT('Lisatud andmed: ', NEW.nimi, ' ',NEW.parenimi,', Ülesanded: ' , NEW.ylesanded))
Triger, mis jälgib andmete kustutamine tabelist “tootajaandmed”.

INSERT INTO logi(kasutaja, kuupaev, sissestatudandmed)
VALUES (USER(), NOW(), CONCAT('Kustutatud andmed: ', OLD.nimi, ' ', OLD.parenimi, ' ', OLD.ylesanded))
Triger, mis jälgib andmete uuendamine “tootajaandmed”.

INSERT INTO logi(kasutaja, kuupaev, sissestatudandmed)
VALUES (USER(), NOW(), CONCAT(
'Vanad andmed: ', OLD.nimi, ' ',OLD.parenimi,', Ülesanded: ' , OLD.ylesanded,
' | Uus andmed: ', NEW.nimi, ' ',NEW.parenimi,', Ülesanded: ' , NEW.ylesanded))
SSMS
CREATE TABLE tootajaandmed(
tootajaID int PRIMARY KEY identity(1,1),
nimi varchar(15) not null,
parenimi varchar(30) not null,
ylesanded text);
CREATE TABLE logi(
logiID int PRIMARY KEY identity(1,1),
kasutaja varchar(30),
kuupaev datetime,
sissestatudandmed text);
Triger, mis jälgib andmete sisestamine “tootajaandmed” tabelisse.
CREATE TRIGGER insertTootaja
ON tootajaandmed
FOR INSERT
AS
INSERT INTO logi(kasutaja, kuupaev, sissestatudandmed)
SELECT USER, GETDATE(), CONCAT('Lisatud andmed: ', inserted.nimi, ' ', inserted.parenimi, ' Ülesanded: ', inserted.ylesanded)
FROM inserted
/*--------------------------*/
CREATE TRIGGER insertTootaja
ON tootajaandmed
FOR INSERT
AS
INSERT INTO logi(kasutaja, kuupaev, sissestatudandmed)
SELECT USER, GETDATE(), CONCAT('Lisatud andmed: ', inserted.nimi, ' ', inserted.parenimi)
FROM inserted
Kontrollimiseks
insert into tootajaandmed(nimi, parenimi)
values ('Rostislav', 'Karsarov');
select * from tootajaandmed;
select * from logi;

Triger, mis jälgib andmete kustutamine tabelist “tootajaandmed”.
CREATE TRIGGER deleteTootaja
ON tootajaandmed
FOR DELETE
AS
INSERT INTO logi(kasutaja, kuupaev, sissestatudandmed)
SELECT USER, GETDATE(), CONCAT('Kustutatud andmed: ', deleted.nimi, ' ', deleted.parenimi)
FROM deleted
Kontrollimiseks
select * from tootajaandmed;
DELETE from tootajaandmed
where tootajaID = 3;
select * from tootajaandmed;
select * from logi;

Triger, mis jälgib andmete uuendamine “tootajaandmed”.
CREATE TRIGGER updateTootaja
ON tootajaandmed
FOR UPDATE
AS
INSERT INTO logi(kasutaja, kuupaev, sissestatudandmed)
SELECT USER, GETDATE(), CONCAT('Vanad andmed: ', deleted.nimi, ' ', deleted.parenimi,' ----> uued andmed: ', inserted.nimi, ' ', inserted.parenimi)
FROM deleted inner join inserted
ON inserted.tootajaID=deleted.tootajaID
Kontrollimiseks
select * from tootajaandmed;
UPDATE tootajaandmed set nimi='Jeff'
where tootajaID = 4;
select * from tootajaandmed;
select * from logi;

