Триггеры TRIGER

Триггер процес при помощи которого записанные в него действия будут выполнятся автоматически

Protsess, millega abil kõik sisse kirjutatud tegevused tehakse automaatselt

Näiteks, trigeri abil kasutaja saab jälgida ms tegevused oli tehtud andmebaasis(INSERT, UPDATE, DELETE)

CREATE TABLE logi( id int primary key AUTO_INCREMENT, kuupaev datetime, kasutaja varchar(100), andmed TEXT, tegevus varchar(100)); 

päästik-triger

INSERT into logi(kuupaev,kasutaja,andmed,tegevus)
VALUES(NOW(),USER(), 
       	Concat(NEW.last_name, ', ', NEW.first_name, ', ', NEW.member_since), 
       'guest on lisatud')
INSERT INTO room (number, name, status, smoke)
VALUES (2, 'sasha', 'OK', '1');

Triger mis jälgib lisatud tabelisse andmed

INSERT into logi(kuupaev,kasutaja,andmed,tegevus)
VALUES(NOW(),USER(), 
       	Concat(OLD.last_name, ', ', OLD.first_name, ', ', OLD.member_since), 
       'guest on kustutatud')
DELETE FROM room
WHERE number = 2;

kustutamine

INSERT into logi(kuupaev,kasutaja,andmed,tegevus)
VALUES(NOW(),USER(), 
       	Concat('vanad andmed',OLD.last_name, ', ', OLD.first_name, ', ', OLD.member_since, 
       '/n uued andmed:', NEW.last_name, ', ', NEW.first_name, ', ', NEW.member_since), 
       'guest on uuendatud')

uuendamine

TRIGER SQL SERVER

CREATE TRIGGER guestLisamine
ON guest
FOR INSERT
AS
INSERT INTO logi(kuupaev, kasutaja, andmed, tegevus)
SELECT GETDATE(), USER, 
CONCAT(inserted.first_name, ', ', inserted.last_name),
'guest on lisatud'
FROM inserted
insert into guest(first_name,last_name,member_since)
values('maksim','miskev','2022-04-22');
SELECT * from guest;
select * from logi;