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

-- logi tabel täidav vastav trigger
Create table logi(
id int PRIMARY KEY identity(1,1),
aeg DATETIME,
toiming  varchar(100),
sisestatud_andmed TEXT
)

New query

Concat()- объединение данных из нескольких полей

CREATE TRIGGER linnLisamine
ON linnad
AFTER INSERT
AS
BEGIN
	INSERT INTO logi(aeg, toiming, sisestatud_andmed)
	SELECT GETDATE(), 'Uus linn on lisatud',
	CONCAT(linnanimi, ' rahvaarv - ', rahvaarv)
	FROM inserted;
END
--kontroll
INSERT INTO linnad(linnanimi, rahvaarv)
Values ('Narva', 436863);
SELECT * FROM linnad;
SELECT * FROM logi;
CREATE TRIGGER linnKustutamine
ON linnad
AFTER INSERT
AS
BEGIN
	INSERT INTO logi(aeg, toiming, sisestatud_andmed)
	SELECT GETDATE(), 'Linn on kustutatud',
	deleted.linnanimi
	FROM deleted;
END
--kontroll
DELETE FROM linnad Where linnID = 2;
SELECT * FROM linnad;
SELECT * FROM logi;
ALTER TABLE logi ADD kasutaja varchar(100);
SELECT * FROM logi;
USE [trigger_suhhanova]
GO
/****** Object:  Trigger [dbo].[linnLisamine]    Script Date: 13.03.2024 10:56:40 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[linnLisamine]
ON [dbo].[linnad]
AFTER INSERT
AS
BEGIN
	INSERT INTO logi(aeg, kasutaja, toiming, sisestatud_andmed)
	SELECT GETDATE(),
	USER,
	'Uus linn on lisatud',
	CONCAT(linnanimi, ' rahvaarv - ', rahvaarv)
	FROM inserted;
END
CREATE TRIGGER linnUuendamine
ON linnad
FOR UPDATE
AS
BEGIN
	INSERT INTO logi(aeg, kasutaja, toiming, sisestatud_andmed)
	SELECT GETDATE(), 
	USER,
	'Linna andmed on uuednatud',
	CONCAT('Vanad andmed: ', d.linnanimi, ', ' , d.rahvaarv,
	'Uued andmed: ', i.linnanimi, ', ', i.rahvaarv)
	FROM deleted d 
	INNER JOIN inserted i
	ON i.linnID = d.linnID;
END
--kontroll
UPDATE linnad SET linnanimi = 'Kivioli', rahvaarv = 100
WHERE linnID = 3;
SELECT * FROM linnad;
SELECT * FROM logi;