create table maakond( maakondID int primary key identity(1,1), maakond varchar(80) );
create table linn( linnID int primary key identity(1,1), linn varchar(100), maakondID int, foreign key (maakondID) references maakond (maakondID) );
create table logi( logiid int identity(1,1) PRIMARY KEY, andmde text, kuupaev datetime, kasutaja varchar (100) );
insert into maakond(maakond)
values('Harjumaa');
insert into maakond(maakond)
values('Tartumaa');
insert into maakond(maakond)
values('Pärnumaa');
insert into maakond(maakond)
values('Ida Virumaa');
insert into maakond(maakond)
values('Kohtla jarve');
select * from maakond;
create trigger linnaLisamine on linn for insert as insert into logi(kuupaev, andmde, kasutaja) select GETDATE(), CONCAT(inserted.linn, ', ', m.maakond), USER from inserted inner join maakond m on inserted.maakondID=m.maakondID --kontroll-- insert into linn(linn, maakondID) values('Tallinn',1);
select * from linn; select * from logi;
create trigger linnaUuendamine on linn for update as insert into logi(kuupaev, andmde, kasutaja) select GETDATE(), CONCAT('Vanad andmed: ', deleted.linn, ', ', m1.maakond, ' ', 'Uued andmed: ', inserted.linn, ', ', m2.maakond), USER from deleted inner join inserted on deleted.linnID=inserted.linnID inner join maakond m1 on deleted.maakondID=m1.maakondID inner join maakond m2 on inserted.maakondID=m2.maakondID --kontroll-- select * from linn; update linn set maakondID=2 where linn='Tallinn'; select * from linn; select * from logi;
insert into linn(linn, maakondID)
values('Tallinn',1);
insert into linn(linn, maakondID)
values('Tartu',2);
insert into linn(linn, maakondID)
values('Pärnu',3);
insert into linn(linn, maakondID)
values('Viru',4);
insert into linn(linn, maakondID)
values('Narva',5);