- Andmete lisamine tabelisse FilmType (filmType ja Kirjeldus sisestab kasutaja kui käivatab protseduuri)
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;
-- kontroll
EXEC filmTypeLisamine 4, '10D', 'super filmid';

2. Kustutamis protseduur, kustutab filmtüüp tema id järgi (kasutaja sisestab id ja siis filmtüüp kustutakse)
CREATE PROCEDURE filmTypeKustuta
@kustutumisID int
AS
BEGIN
SELECT * FROM filmtype;
DELETE FROM filmtype
WHERE filmtypeID = @kustutumisID;
SELECT * FROM filmtype;
END;
-- kontroll
EXEC filmTypeKustuta 4;

3.Otsing sisestatud tähte järgi(kasutaja sisestab filmitüüpi Esimene täht ja siis näidetakse kõik filmitüübid))
CREATE PROCEDURE otsing1taht
@taht char (1)
AS
BEGIN
SELECT filmtype, kirjeldus
FROM filmtype
WHERE filmtype LIKE concat (@taht,'%');
END;
-- kontroll
EXEC otsing1taht 2;

4. Uuendamis protseduur. Kasutaja sisestab uuendatud filmitüübi sisestatud id järgi.
CREATE PROCEDURE filmTypeUuendamine
@id int,
@uusFilmType varchar (100)
AS
BEGIN
UPDATE filmtype
SET filmtype=@uusFilmType
WHERE filmTypeID=@id;
SELECT * FROM filmtype;
END;
-- kontroll
EXEC filmTypeUuendamine 1, '2D';

5. Lisada andmed (INSERT) mis tahes suvalise tabeli AB kinoteat
CREATE PROCEDURE rezisoorinsert
@rezisoorID int,
@eesnimiKasutaja varchar (25),
@perenimiKasutaja varchar (25)
AS
BEGIN
INSERT INTO rezisoor (rezisoorID, eesnimi, perenimi)
VALUES (@rezisoorID, @eesnimiKasutaja, @perenimiKasutaja);
SELECT * FROM rezisoor;
END;
-- kontroll
EXEC rezisoorinsert 7, 'Daria' , 'Halchenko';

6. Zanr tabeli kirjete kustutamiseks sisestatud id järgi
CREATE PROCEDURE zanreemaldamine
@deletezanrID int
AS
BEGIN
SELECT * FROM zanr;
DELETE FROM zanr
WHERE zanrID = @deletezanrID;
SELECT * FROM zanr;
END;
-- kontroll
EXEC zanreemaldamine 1;

7. Tabeli kustutamiseks sisestatud nime järgi (tabel ei tohi sisaldada sekundaarset võtit)
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
На оценку 4 выполнить все задания на оценку 3 + добавить 2 процедуры на обновление (UPDATE) и изменение (ALTER) таблицы режисер.
8. Lisada uuendusi (UPDATE) (eesnimi)
CREATE PROCEDURE updateEesnimi
@uueeesnimi varchar (25)
AS
BEGIN
UPDATE rezisoor SET eesnimi= @uueeesnimi
SELECT * FROM rezisoor;
END;
--kontroll
EXEC updateEesnimi 'Daria';

9. Lisada uuendusi (UPDATE) (perenimi)
CREATE PROCEDURE updateperenimi
@uueperenimi varchar (25)
AS
BEGIN
UPDATE rezisoor SET perenimi= @uueperenimi
SELECT * FROM rezisoor;
END;
--kontroll
EXEC updateperenimi 'Halchenko';

10. Muutus (ALTER) tabeli rezissoor
CREATE PROCEDURE muutuRezisoor
@muu_tus_rezisoor varchar (25)
AS
BEGIN
ALTER TABLE rezisoor ADD muu_tus_rezisoor varchar (25);
SELECT * FROM rezisoor;
END;
--kontroll
EXEC muutuRezisoor 'aasta';

11.
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';