Создание процедуры
--protseduuri loomine
USE Kooli2;
GO
CREATE PROCEDURE helloKool
AS
BEGIN
SELECT * FROM kool;
END;
Вызов процедуры
--protseduuri kutsumine
USE Kooli2;
EXEC helloKool;
Удаление процедуры
--proc kustutamine/delete
drop procedure helloKool;
Использование определенной процедуры
--kasutaja sisestab kooli esimene täht ja siis kuvatakse kõik kooli andmed
USE Kooli2;
GO
CREATE PROCEDURE kooliOtsin
@taht varchar(1)
AS
BEGIN
SELECT * FROM kool
WHERE koolNimi LIKE @taht + '%';
END;
--kutse
EXEC kooliOtsin @taht='T';
--kasutaja sisestab ainult tabeli väärtused ja siis tabel täidetakse
USE Kooli2;
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 'BallettiKool', 'Tartu', '54354346', '43635213';
--kustutab üks kirje/rida id järgi
USE Kooli2;
GO
CREATE PROCEDURE kustutaKool
@deleteId int
AS
BEGIN
SELECT * FROM kool;
DELETE FROM kool
WHERE id=@deleteId;
SELECT * FROM kool;
END;
--kutse
EXEC kustutaKool 1;
--proceduur küsib mida on vaja teha
--kas lisada veergu // 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';
SELECT * FROM kool;
--uuendada opilasteArv id järgi
CREATE PROCEDURE uuendaKool
@arv int,
@uuendatudid int
AS
BEGIN
SELECT * FROM kool;
UPDATE kool SET opilasteArv = @arv
WHERE id=@uuendatudid;
SELECT * FROM kool;
END;
--kutse
EXEC uuendaKool @arv=3000, @uuendatudid=2


Задание по kinoteaterlaus
Процедура по добавлению данных в любую таблицу БД.
Составление

Вызов процедуры

Результат

Удаление данных из таблицы zanr по ID.
Составление

Вызов

Результат

Процедура UPDATE для таблицы rezisoor.
Составление

Вызов

Результат

Процедура ALTER для таблицы rezisoor.
Составление

Вызов

Результат
