Triger – Protsess millega abil kõik sisse kirjutanud tegevused tehakse automaatselt.
Näiteks:
Trigeri abil kasutaja saab jälgida, mis 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 mis jälgib lisatud tabelisse andmed.
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 logi(kuupaev, kasutaja, andmed, tegevus) VALUES (NOW(), USER(), Concat(OLD.last_name, ', ', OLD.first_name,', ', OLD.member_since), 'guest on lisatud')

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')
ROOM TABLE




TRIGERITE loomine MS SQL Server’s

CREATE TRIGGER guest_lisamine 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

CREATE TRIGGER guest_kustutamine ON guest FOR DELETE AS INSERT INTO logi(kuupaev, kasutaja, andmed, tegevus) SELECT GETDATE(), USER, CONCAT(deleted.first_name, ', ', deleted.last_name), 'guest on kustutatud' FROM deleted

CREATE TRIGGER guest_uuendamine ON guest FOR UPDATE AS INSERT INTO logi(kuupaev, kasutaja, andmed, tegevus) SELECT GETDATE(), USER, CONCAT('VANAD -', deleted.first_name, ', ', deleted.last_name, 'UUED - ', inserted.first_name,', ',inserted.last_name), 'guest on uuendatud' FROM deleted INNER JOIN inserted ON deleted.guest_id=inserted.guest_id
ROOM Trigger



Protseduuri TÖÖ
Ülasanne 1:
SELECT * FROM guest go CREATE PROCEDURE Andmete_lisamine @osaID int AS BEGIN SELECT first_name,last_name FROM guest WHERE guest_id = @osaID; END EXEC Andmete_lisamine @osaID=6; SELECT * FROM guest

Ülesanne 2:
go CREATE PROCEDURE Kustutamine @deleteID int AS BEGIN SELECT * FROM guest; DELETE FROM guest WHERE guest_id=@deleteID; SELECT * FROM guest; END EXEC Kustutamine @deleteID= 4;

Ülesanne 3:
go CREATE PROCEDURE uuendamine @omaID int AS BEGIN SELECT * FROM guest; UPDATE guest SET member_since='04-06-2022' WHERE guest_id=@omaID; SELECT * FROM guest; END EXEC uuendamine @omaID=5;

Ülesanne 4:
go CREATE PROCEDURE Külalliste_leidmine AS BEGIN SELECT count(guest_id) as guest_kogus FROM guest; END EXEC Külalliste_leidmine;

Ülesanne 5:
go CREATE PROCEDURE oma_protseduur AS BEGIN SELECT member_since, IIF (member_since LIKE '2022-06-04', 'Halvasti', 'Hästi') AS Member_guest FROM guest; END EXEC oma_protseduur;
