create table maakond(
maakondID int primary key identity (1,1),
maakond varchar(100));
create table linn(
linnID int primary key identity (1,1),
linn varchar(100),
maakondID int,
foreign key (maakondID) references maakond(maakondID));
CREATE TABLE logi(
id int PRIMARY KEY identity(1,1),
andmed TEXT,
kuupaev datetime,
kasutaja varchar(100));
insert into maakond(maakond)
values ('Viljandimaa');
select * from maakond
create trigger linnaLisamine
on linn
for insert
as
insert into logi(kuupaev, andmed, 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, andmed, 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;
create table maakond(
maakondID int primary key AUTO_INCREMENT,
maakond varchar(100));
create table linn(
linnID int primary key AUTO_INCREMENT,
linn varchar(100),
maakondID int,
foreign key (maakondID) references maakond(maakondID));
CREATE TABLE logi(
id int PRIMARY KEY AUTO_INCREMENT,
andmed TEXT,
kuupaev datetime,
kasutaja varchar(100));
insert into logi(kuupaev, andmed, kasutaja)
select now(),
concat('Uued andmed ', NEW.linn, ', ', m.maakond),
user()
from linn l
inner join maakond m
on l.maakondID=m.maakondID
where l.linnID=NEW.linnID
insert into logi(kuupaev, andmed, kasutaja)
select NOW(),
concat('Vanad andmed ',OLD.linn, ', ', m1.maakond,
' Uued andmed ', NEW.linn, ', ', m2.maakond),
user
from linn l
inner join maakond m1 on OLD.maakondID=m1.maakondID
inner join maakond m2 on NEW.maakondID=m2.maakondID
where l.linnID=NEW.linnID