SQL. Trigger Est

Create table linnad(
linnID int Auto_increment PRIMARY KEY,
linnanimi varchar(15),
rahvaarv int);
Create table logi(
id int Auto_increment PRIMARY KEY,
aeg DATETIME,
toiming  varchar(100),
andmed varchar(200)
)

Добавил тригер на добавление данных в таблицу

Добавил данные в таблицу и проверил тригер

Изменил тригер чтобы в логах также добавлялась запись

Проверил измененный тригер

Создал тригер на удаление

Проверил тригер

Создал тригер на обновление

Проверил тригер на обновление

Create table logitabel(
id int Auto_increment PRIMARY KEY,
aeg DATETIME,
toiming  varchar(100),
AUTOandmed varchar(200)
);
Create table Auto(
AutoID int Auto_increment PRIMARY KEY,
autonumber varchar(6),
mark varchar(20),
mudel varchar(20),
omanik int);

Create table Omanik(
OmanikID int Auto_increment PRIMARY KEY,
Name varchar(50));

Создал 2 новые таблицы

Создал тригер на удаление машины

Создал тригер на добавление машины

Создал тригер на обновление машины

Проверил тригеры

ALTER TABLE auto ADD CONSTRAINT fk_omanik
FOREIGN KEY(omanik) REFERENCES omanik(omanikID);

Добавил связь

Создал триггер на удаление для таблицы владельца

Создал тригер на добавление

Создал триггер на обновление

Проверил триггеры

Создание пользователя

Выдал права

Проверил права юзера

Cоздал таблицы и добавил тригеры на Insert

Create table logitabel(
id int identity(1,1) PRIMARY KEY,
aeg DATETIME,
toiming  varchar(100),
AUTOandmed varchar(200),
kasutaja varchar(50)
);
Create table Auto(
AutoID int identity(1,1) PRIMARY KEY,
autonumber varchar(6),
mark varchar(20),
mudel varchar(20),
omanik int);

Create table Omanik(
OmanikID int identity(1,1) PRIMARY KEY,
Name varchar(50));

ALTER TABLE auto ADD CONSTRAINT fk_omanik
FOREIGN KEY(omanik) REFERENCES omanik(omanikID);
CREATE TRIGGER auto_insert  
ON Auto  
FOR INSERT  
AS  
BEGIN  
INSERT INTO logitabel(aeg, toiming, AUTOandmed, kasutaja)  
SELECT  
GETDATE(),  
'UUS Auto ON LISATUD',  
CONCAT('uus autonumber: ', autonumber, ', mark ja mudel: ', mark, ' ', mudel, ', omanik: ', omanik),  
SUSER_NAME()  
FROM INSERTED;
END;


CREATE TRIGGER omanik_insert  
ON Omanik  
FOR INSERT  
AS  
BEGIN
INSERT INTO logitabel(aeg, toiming, AUTOandmed, kasutaja)
SELECT  
GETDATE(),
'UUS omanik ON LISATUD',
CONCAT('uus omanik', Name),
SUSER_NAME()
FROM INSERTED;
END;

Создал триггеры на обновление

CREATE TRIGGER Auto_update  
ON Auto  
FOR UPDATE
AS
BEGIN
INSERT INTO logitabel(aeg, toiming, Autoandmed, kasutaja)  
SELECT  
GETDATE(),
'Auto andmed on uuendatud',  
CONCAT('Vanad: ', d.autonumber, ', ', d.mark, ' ', d.mudel, ', ', d.omanik, ' Uued: ', i.autonumber, ', ', i.mark, ' ', i.mudel, ', ', i.omanik),  
SUSER_NAME()
FROM deleted d
INNER JOIN inserted i ON d.AutoID = i.AutoID;
END;

CREATE TRIGGER Omanik_update  
ON Omanik  
FOR UPDATE
AS
BEGIN
INSERT INTO logitabel(aeg, toiming, Autoandmed, kasutaja)  
SELECT  
GETDATE(),
'Auto andmed on uuendatud',  
CONCAT('vana:', d.Name,', uued:', i.Name),  
SUSER_NAME()
FROM deleted d
INNER JOIN inserted i ON d.OmanikID = i.OmanikID;
END;

Добавил триггры для удаления

CREATE TRIGGER Auto_delete  
ON Auto
FOR DELETE
AS
BEGIN  
INSERT INTO logitabel (aeg, toiming, AUTOandmed, kasutaja)  
SELECT  
GETDATE(),  
'Auto on kustatud',  
deleted.autonumber,  
SUSER_NAME()  
FROM deleted;  
END;

CREATE TRIGGER Omanik_delete  
ON Omanik
FOR DELETE
AS
BEGIN 
INSERT INTO logitabel (aeg, toiming, AUTOandmed, kasutaja)  
SELECT  
GETDATE(),  
'Omanik on kustatud',  
deleted.Name,  
SUSER_NAME()
FROM deleted;
END;