create table linnad( linnID int primary key identity(1,1), linnanimi varchar(25) unique, rahvaArv int);
insert into linnad(linnanimi, rahvaArv)
values('Tallin', 650000);
select * from linnad
>>>
--kuvab tabelist linnad 2 veergu
use procedurYekasov;
go
create procedure lihtneSelect
as
begin
select linnanimi, rahvaArv
from linnad;
end
exec lihtneSelect;

--lisamine tabelisse
use procedurYekasov;
go
create procedure lisaLinn
@nimi varchar(30),
@rahvaKogus int
as
begin
insert into linnad(linnanimi, rahvaArv)
values (@nimi, @rahvaKogus);
select * from linnad;
end
exec lisaLinn @nimi='Valga', @rahvaKogus=20000;

use procedurYekasov;
go
create procedure suuremkui
@rahvaKogus int
as
begin
select * from linnad
where rahvaArv > @rahvaKogus;
end
exec suuremkui @rahvaKogus=100000;

use procedurYekasov;
go
create procedure linnaOtsing
@taht char(1)
as
begin
select * from linnad
where linnanimi like @taht + '%';
end
exec linnaOtsing @taht='T'

use procedurYekasov;
go
create procedure linnaKustutamine
@kustutaID int
as
begin
select * from linnad;
delete from linnad
where linnID=@kustutaID;
select * from linnad;
end
exec linnaKustutamine 5

use procedurYekasov;
go
create procedure hinnang
as
begin
select linnanimi, rahvaArv,
iif(rahvaArv>100000, 'Suur linn', 'Väike linn') as hinnang
from linnad;
end
exec hinnang

iseseisevtöö
use procedurYekasov;
go
create procedure selec
as
begin
select filmNimetus, filmtypeID
from film
where filmtypeID=2;
end
exec selec

use procedurYekasov;
go
create procedure inser
@filmType varchar(25),
@kirjeldus varchar(40)
as
begin
insert into filmtype(filmType, kirjeldus)
values (@filmType, @kirjeldus);
select * from filmtype;
end
exec inser '36D', 'papabeve'

use procedurYekasov;
go
create procedure delet
@uuendusID int,
@newdescriptionID varchar(40)
as
begin
select * from filmtype;
update filmtype set kirjeldus=@newdescriptionID
where filmType=@uuendusID;
select * from filmtype;
end
exec delet 3D, 'nu nez chto tam'
…
use procedurYekasov;
go
create procedure struktuuriMuutmine
@tegevus varchar(20),
@tabelinimi varchar(20),
@veerunimi varchar(20),
@tyyp varchar(20)
as
begin
declare @sqltegevus as varchar(max)
set @sqltegevus=case
when @tegevus='lisa' Then concat('alter table ', @tabelinimi, ' add ', @veerunimi, ' ', @tyyp)
end;
print @sqltegevus;
begin
exec (@sqltegevus);
end
end
exec struktuuriMuutmine @tegevus='Lisa', @tabelinimi='linnad', @veerunimi='test', @tyyp='int';
select * from linnad

use procedurYekasov;
go
create procedure struktuuriMuutmin
@tegevus varchar(20),
@tabelinimi varchar(20),
@veerunimi varchar(20),
@tyyp varchar(20)=null
as
begin
declare @sqltegevus as varchar(max)
set @sqltegevus=case
when @tegevus='lisa' Then concat('alter table ', @tabelinimi, ' add ', @veerunimi, ' ', @tyyp)
when @tegevus='kustuta' Then concat('alter table ', @tabelinimi, ' drop column ', @veerunimi)
end;
print @sqltegevus;
begin
exec (@sqltegevus);
end
end
exec struktuuriMuutmin @tegevus='kustuta', @tabelinimi='linnad', @veerunimi='test';
select * from linnad

