PersonBase

  • tabelinimi, andmete sisestamiseks ja väljade nimed tabelis, nt. Loo tabel ….. (…., ……, ……, ….).

———————————

Inimene (InimeseID, InimeseNimi(eesnimi), InimeseVanus, InimeseKool(nt:TTHK, TPT) 

CREATE TABLE Inimene (
InimiseId INT PRIMARY KEY IDENTITY(1,1),
InimeseNimi VARCHAR(16),
InimeseVanus INT,
InimeseKool VARCHAR(50)
);
  • Loo tabel trigerite töö salvestamiseks. Näiteks tabel logi (logiID, kuupaev, andmed, kasutaja).

——————————–

InimeseID,InimeseVanus,InimeseKool ja kuupaev

Create table logi(
id int primary key identity(1,1),
kasutaja varchar(100),
kuupaev datetime,
andmed text);
  • Trigerinimed ja mida triger peab tegema seoses eelnevalt loodud tabeliga.

———————————

DELETE_trg, UPDATE_trg

INSERT INTO Inimene (InimeseNimi, InimeseVanus, InimeseKool)
VALUES ('Gleb Sotsjov', 17, 'TTHK');
CREATE TRIGGER DELETE_trg
ON Inimene
FOR DELETE
AS
BEGIN
    INSERT INTO Logi (Kasutaja, Kuupaev, Andmed)
    SELECT 
        USER,
        GETDATE(),
        CONCAT('Kustutatud andmed: ', deleted.InimeseNimi,',' ,deleted.InimiseId,',' ,deleted.InimeseVanus,',',deleted.InimeseKool)
    FROM deleted;
END

UDPATE

CREATE TRIGGER UPDATE_trg
ON Inimene
FOR UPDATE
AS
BEGIN
    INSERT INTO Logi (Kasutaja, Kuupaev, Andmed)
    SELECT 
        USER,
        GETDATE(),
        CONCAT('Uuendatud andmed: ', 'Vana nimi: ', deleted.InimeseNimi, ', Uus nimi: ', inserted.InimeseNimi, ', InimeseID: ', deleted.InimiseId, 
               ', Vana vanus: ', deleted.InimeseVanus, ', Uus vanus: ', inserted.InimeseVanus, ', Vana kool: ', deleted.InimeseKool, 
               ', Uus kool: ', inserted.InimeseKool)
    FROM deleted
    JOIN inserted ON deleted.InimiseId = inserted.InimiseId;
END;

Kontroll

UPDATE tabeli andmed;

DELETE:

USER Loomine

KONTROLL USER

XAMPP

Inimene (InimeseID, InimeseNimi(eesnimi), InimeseVanus, InimeseKool(nt:TTHK, TPT) 

CREATE TABLE Inimene (
    InimiseId INT PRIMARY KEY AUTO_INCREMENT,
    InimeseNimi VARCHAR(16),
    InimeseVanus INT,
    InimeseKool VARCHAR(50)
);

InimeseID,InimeseVanus,InimeseKool ja kuupaev

CREATE TABLE logi (
    id INT PRIMARY KEY AUTO_INCREMENT,
    kasutaja VARCHAR(100),
    kuupaev DATETIME,
    andmed TEXT
);
  • Trigerinimed ja mida triger peab tegema seoses eelnevalt loodud tabeliga.

———————————

DELETE_trg, UPDATE_trg

INSERT INTO Inimene (InimeseNimi, InimeseVanus, InimeseKool)
VALUES ('Gleb Sotsjov', 17, 'TTHK');
INSERT INTO Logi (Kasutaja, Kuupaev, Andmed)
    VALUES( 
        USER(),
        GETDATE(),
        CONCAT('Kustutatud andmed: ', deleted.InimeseNimi,',' ,deleted.InimiseId,',' ,deleted.InimeseVanus,',',deleted.InimeseKool))

UPDATE Trigger

INSERT INTO logi (kasutaja, kuupaev, andmed)
    VALUES (
        USER(),
        NOW(),
        CONCAT('Uuendatud andmed: ', 'Vana nimi: ', OLD.InimeseNimi, 
               ', Uus nimi: ', NEW.InimeseNimi, 
               ', InimeseID: ', OLD.InimiseId, 
               ', Vana vanus: ', OLD.InimeseVanus, 
               ', Uus vanus: ', NEW.InimeseVanus, 
               ', Vana kool: ', OLD.InimeseKool, 
               ', Uus kool: ', NEW.InimeseKool)
    );

KONTROLL

UPDATE

SELECT * FROM Inimene;
UPDATE inimene
SET InimeseNimi = 'Vitalii Sotsjov'
WHERE InimeseNimi = 'Gleb Sotsjov';
SELECT * FROM Inimene;
SELECT * FROM logi;

DELETE

DELETE from inimene
WHERE InimiseId = 2;
SELECT * FROM Inimene;
SELECT * FROM logi;

USER

KONTROLL USER

USER UPDATE

USER DELETE

USER INSERT