Хранимые процедуры/SQL-сервер

Salvestatud protseduurid — tavaline programm või funktsioon, mis käivitab mitu tegevust.

create table pidupaev (
id int primary key identity(1,1),
kuupaev date,
pidu varchar(50),
riik varchar(50));
insert into pidupaev(kuupaev, pidu, riik)
values('2024-03-31', 'Ülestõusmispühadepäev', 'Eesti'),
('2024-10-25', 'Sünnipäev', 'Eesti'),
('2024-03-17', 'Püha Patricku Päev', 'Eesti'),
('2024-03-24', 'Paalmepuudepüha', 'Eesti'),
('2024-03-28', 'Suur neljapäev', 'Eesti'),
('2024-03-08', 'Näistepäev', 'Eesti'),
('2024-02-09', 'Luuvalupäev', 'Eesti'),
('2024-12-31', 'Uusaasta', 'Eesti'),
('2024-03-31', 'Ülestõusmispühadepäev', 'Eesti');
select * from pidupaev;
--kuvab kõik miss on 
use BogdanSergachevTARpv23;
go
create procedure tabeliKuvamine
as
begin
	select * from pidupaev;
end;
--kutse
exec tabeliKuvamine;
--loo protseduur, mis täidab tabeli
use BogdanSergachevTARpv23;
go
create procedure lisaTabeli
	@kuupaev date,
	@pidu varchar(50),
	@riik varchar(50)
as
begin
	insert into pidupaev(kuupaev, pidu, riik)
	values(@kuupaev, @pidu, @riik);
	select * from pidupaev;
end;
-- kurse
exec lisaTabeli '2024-06-23', 'Võidupäev', 'Eesti'

kustuta id järgi

--kustuta id järgi
use BogdanSergachevTARpv23;
go
create procedure kustutaIdjargi
	@deleteid int
as
begin
	select * from pidupaev;
	delete from pidupaev
	where id = @deleteid;
	select * from pidupaev;
end;
-- kutse
exec kustutaIdjargi @deleteid = 13;
--delete procedure
drop procedure kustutaIdjargi
--kuvame kõik peod mis algavad A tähega
use BogdanSergachevTARpv23;
go
create procedure peodAlgavad
	 @taht char(1)
as
begin
	select kuupaev, pidu
	from pidupaev
	where pidu like @taht + '%';
end;
--kutse
exec peodAlgavad 'j';
--kuvame kõik peod mis on ühe kuu jooksul
use BogdanSergachevTARpv23;
go
create procedure kuupeod
	@kuupaev1 date,
	@kuupaev2 date
as
begin
	select kuupaev, pidu
	from pidupaev
	where kuupaev between @kuupaev1 and @kuupaev2;
end;
--kutse
exec kuuPeod '2024-01-01', '2024-01-31';