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;