Create table kool(
Id int primary key identity(1,1),
KoolNimi varchar(50) unique,
aadress text,
telefon varchar (13),
regNumber varchar(10)
);
insert into kool(KoolNimi,aadress)
values ('Tallinna kool','Tehnika 18, Tallinn');
select * from kool;
-- protseduuri
use AleksanderKaasikTARgv23;
go
create procedure HelloKool
AS
BEGIN
select * from kool;
END;
-- protseduuri kutsumine
use AleksanderKaasikTARgv23;
-- sql server
exec HelloKool;
--phpmyadmin
call HelloKool
-- protseduuri kustutamine
use AleksanderKaasikTARgv23;
drop procedure HelloKool;
-- kasutaja sisestab kooli esimene taht ja siis kuvatakse kõol kooli andmed
use AleksanderKaasikTARgv23;
go
create procedure KoolOstsing
@taht varchar(1)
AS
BEGIN
select * from kool
where KoolNimi like @taht + '%';
END;
-- kutse
-- sql server
exec KoolOstsing @taht='T';
--phpmyadmin
call KoolOstsing('T');
--kasutaja susestab ainult tabrliväärtused ja siis tabel täifrtakse
use AleksanderKaasikTARgv23;
go
create procedure LisaKool
@kNimi varchar(50),
@aadress text,
@telefon varchar(13),
@reg varchar(10)
as
begin
insert into kool(KoolNimi,aadress,telefon,regNumber)
values (@kNimi,@aadress,@telefon,@reg);
select * from kool;
end;
--kutse
exec LisaKool 'Aiaduskool','Räpina','123456789','123456789'
-- kustutab üks kirje/rida id järgi
use AleksanderKaasikTARgv23;
go
create procedure KustutaKool
@DeleteId int
as
begin
select * from kool;
delete from kool where id = @DeleteId;
select * from kool;
end;
--kutse
exec KustutaKool 3
-- proceduur küsib mida ona vaja thea -kas lisada veergy ADD või kustutada DROP COLUMN
CREATE PROCEDURE muudatus
@tegevus varchar(10),
@tabelinimi varchar(25),
@veerunimi varchar(25),
@tyyp varchar(25) =null
AS
BEGIN
DECLARE @sqltegevus as varchar(max)
set @sqltegevus=case
when @tegevus='add' then concat('ALTER TABLE ', @tabelinimi, ' ADD ', @veerunimi, ' ', @tyyp)
when @tegevus='drop' then concat('ALTER TABLE ', @tabelinimi, ' DROP COLUMN ', @veerunimi)
END;
print @sqltegevus;
begin
EXEC (@sqltegevus);
END
END;
--добавление столбца
EXEC muudatus @tegevus='add', @tabelinimi='kool', @veerunimi='test', @tyyp='int';
--удаление столбца
EXEC muudatus @tegevus='drop', @tabelinimi='kool', @veerunimi='test';
--uuidada OpilasterArv if jägi
CREATE PROCEDURE OpilasterA
@OpilastArv int,
@OpilastId int
as
begin
update kool set OpilasterArv = @OpilastArv
where Id = @OpilastId;
end;
exec HelloKool;
exec OpilasterA @OpilastArv=25, @OpilastId=1;
exec HelloKool;