Triger Kahe seotud tabelite tabelite

create database triger2tabelid;
use triger2tabelid

Create table linnad(
linnID int identity PRIMARY KEY,
linnanimi varchar(15),
rahvaarv int);

Create table logi(
id int identity PRIMARY KEY,
aeg DATETIME,
toiming  varchar(100),
andmed varchar(200),
kasutaja varchar (70)
)

CREATE TABLE maakond(
    maakondID int identity Primary KEY ,
    maakond varchar(100) UNIQUE);
    
INSERT INTO maakond(maakond)
VALUES ('Harjumaa');
INSERT INTO maakond(maakond)
VALUES ('Pärnumaa');

SELECT * FROM maakond

ALTER TABLE linnad ADD maakondID int;
ALTER TABLE linnad ADD CONSTRAINT fk_maakond
FOREIGN KEY (maakondID) References maakond(maakondID) 

CREATE TRIGGER LinnaLisamine
ON linnad
FOR INSERT
AS
BEGIN
    INSERT INTO logi (aeg, toiming, andmed, kasutaja)
    SELECT GETDATE(), 'linn on lisatud', 
           CONCAT(i.linnanimi, ',', m.maakond), 
           SUSER_SNAME()
    FROM inserted i
    INNER JOIN maakond m
    ON m.maakondID = i.maakondID;
END;
--kontroll
INSERT INTO linnad(linnanimi, rahvaarv, maakondID)
VALUES ('Tallinn', 436863, 1);

SELECT * FROM linnad;
SELECT * FROM logi;
Create TRIGGER LinnaKustutamine
ON linnad
FOR DELETE
AS
INSERT INTO logi (aeg, toiming, andmed, kasutaja)
SELECT USER, GETDATE(), 'linn on kustutud',
CONCAT(deleted.linnanimi, ',',m.maakond)
FROM deleted
Inner join maakond m
ON deleted.maakondID=m.maakondID;
CREATE TRIGGER LinnaUuendamine
ON linnad
FOR UPDATE
AS
BEGIN
    INSERT INTO logi (aeg, toiming, andmed, kasutaja)
    SELECT GETDATE(), 'linn on lisatud', 
           CONCAT(
               'vanad andmed -  ', d.linnanimi, ',', m1.maakond, 
               ' |||uuendatud andmed  ', i.linnanimi, ',', m2.maakond
           ), 
           SUSER_SNAME()
    FROM deleted d
    INNER JOIN inserted i ON d.linnID = i.linnID
    INNER JOIN maakond m1 ON d.maakondID = m1.maakondID
    INNER JOIN maakond m2 ON i.maakondID = m2.maakondID;
END;

Update linnad SET linnanimi = 'Tallinn-Väike', maakondID=2
Where linnID=2;
SELECT * FROM linnad;