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;
