Anton Buivol õpimapp / portfoolio

en_USru_RU

Trigerid kaks tabelid

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);