создаем таблицу и добавляем данные

CREATE TABLE filmtype ( filmTypeID int NOT NULL primary key , filmType varchar(25) NOT NULL, kirjeldus text DEFAULT NULL ); select * from filmtype; INSERT INTO filmtype (filmTypeID, filmType, kirjeldus) VALUES (1, '2D', '2D-arvutigraafika on pildi esitamine digitaalsete kahemõõtmeliste mudelitena, näiteks tasandilise geomeetria ja teksti abil.'), (2, '3D', '3D-arvutigraafika on pildi esitamine digitaalsete kolmemõõtmeliste mudelitena, näiteks ruumilise geomeetria abil.\r\n\r\n3D-mudel on kolmemõõtmelise objekti matemaatiline esitus. Mudelit saab kuvada kahemõõtmelisena 3D-renderdamise kaudu või kasutada mittevisuaalse arvutisimulatsiooni või arvutuste jaoks. On olemas ka 3D-arvutigraafika tarkvara.'), (3, '4D', '3D-arvutigraafika lisaeffektidega.');
Создаем процедуру для добавления type фильмов

CREATE PROCEDURE filmTypeLisamine @id int, @type varchar(100), @kirjeldus TEXT AS BEGIN INSERT INTO filmtype (filmTypeID, filmType, kirjeldus) VALUES (@id, @type, @kirjeldus); SELECT * FROM filmtype; END; EXEC filmTypeLisamine 4, '10D', 'super smurfid'
Создаем процедуру для удаления type фильмов

EXEC filmTypeKustuta 4;

CREATE PROCEDURE filmTypeKustuta @kustutumisID int AS BEGIN SELECT * FROM filmtype; DELETE FROM filmtype WHERE filmtypeID = @kustutumisID; SELECT * FROM filmtype; END EXEC filmTypeKustuta
Создаем процендуру для поиска по первой букве


CREATE PROCEDURE otsing1taht @taht CHAR(1) AS BEGIN SELECT filmtype, kirjeldus from filmtype WHERE filmtype LIKE concat(@taht, '%'); END EXEC otsing1taht 2
Создаем процендуру для обновления Фильм type’ов


CREATE PROCEDURE filmTypeUendamine @id int, @uusfilmType varchar (25) AS BEGIN UPDATE filmtype SET filmtype = @uusfilmType WHERE filmtypeID = @id; SELECT * FROM filmtype; END
Процедура для добавления жанра


CREATE PROCEDURE ZanrLisamine @uuszanrNimi VARCHAR (50), @uusZanrKirjeldus VARCHAR (250) AS BEGIN INSERT INTO zanr (zanrNimi, zanrKirjeldus) VALUES (@uuszanrNimi, @uuszanrKirjeldus); SELECT * FROM zanr; END;
Процедура для удаления жанра

exec ZanrKustutamine 1;

CREATE PROCEDURE ZanrKustutamine @kustutamisID int AS BEGIN SELECT * FROM zanr; DELETE FROM zanr WHERE zanrID = @kustutamisID; SELECT * FROM zanr; END;

Процедура для удаления таблиц
CREATE PROCEDURE tablekustuta
@tableKustutamine VARCHAR (100)
AS
BEGIN
DECLARE @STMT AS VARCHAR(MAX)
SET @STMT= Concat('DROP TABLE ', @tableKustutamine);
END;
PRINT @STMT;
BEGIN
EXEC(@STMT);
END
CREATE TABLE test(
testID int);
SELECT * FROM test
exec tablekustuta test;
select * from test;

——————————————————————————————

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='kino', @veerunimi='test', @tyyp='int';
--удаление столбца
EXEC muudatus @tegevus='drop', @tabelinimi='kino', @veerunimi='test';
Итоговое количество моих процедур

