Skip to content
Avaleht » Protseduurid

Protseduurid

Создание процедуры

--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
Использование процедуры koolOtsin
Использование процедуры uuendaKool

Задание по kinoteaterlaus

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

Составление

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

Результат

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

Составление

Вызов

Результат

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

Составление

Вызов

Результат

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

Составление

Вызов

Результат