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

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', 'Uus super pupper film';

create procedure filmTypeKustuta @kustutamisID int as begin select * from filmtype; delete from filmtype where filmtypeID = @kustutamisID; select * from filmtype; end; -- kontroll exec filmTypeKustuta 4

— Otsing sisestatud tähte järgi
CREATE PROCEDURE otsingTaht @taht CHAR(1) AS BEGIN SELECT filmType, kirjeldus FROM filmtype WHERE filmType LIKE @taht + '%'; END; -- kontroll EXEC otsingTaht @taht = 'A';

- rezisoorLisamine ees ja perekonna nime tabelisse rezisoor
CREATE PROCEDURE rezisoorLisamine @rezisoorID INT, @uusEesnimi VARCHAR(50), @uusPerenimi VARCHAR(50) AS BEGIN INSERT INTO rezisoor (rezisoorID, eesnimi, perenimi) VALUES (@rezisoorID, @uusEesnimi, @uusPerenimi); SELECT * FROM rezisoor; END;
Käivitamine:
-- kontroll EXEC rezisoorLisamine @rezisoorID = 7, @uusEesnimi = 'Martin', @uusPerenimi = 'Sild';
Tulemus:

2. zanrKustutamine
CREATE PROCEDURE zanrKustutamine @kasutajaID INT AS BEGIN SELECT * FROM zanr; DELETE FROM zanr WHERE zanrID = @kasutajaID; SELECT * FROM zanr; END;
Käivitamine
EXEC zanrKustutamine @kasutajaID = 10;
Tulemus:

3. tabeli kustutamine
CREATE PROCEDURE tableKustutamine @tabeliKustutamine VARCHAR(100) AS BEGIN IF OBJECT_ID(@tabeliKustutamine, 'U') IS NOT NULL BEGIN DECLARE @STMT AS VARCHAR(MAX); SET @STMT = CONCAT('DROP TABLE ', @tabeliKustutamine); EXEC(@STMT); PRINT 'Tabel ' + @tabeliKustutamine + ' on edukalt kustutatud.'; END ELSE BEGIN PRINT 'Tabelit ' + @tabeliKustutamine + ' ei leitud.'; END END;
Käivitamine
EXEC tableKustutamine @tabeliKustutamine = 'test';
Tulemus

4. zanrUuendamine
CREATE PROCEDURE zanrUendamine @id INT, @uusZanr VARCHAR(25) AS BEGIN UPDATE zanr SET zanrNimi = @uusZanr WHERE zanrID = @id; SELECT * FROM zanr; END;
Käivitamine
EXEC zanrUendamine @id = 1, @uusZanr = 'Martin';
Tulemus

5.
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='test', @veerunimi='testID', @tyyp='int'; select * from ... --удаление столбца EXEC muudatus @tegevus='drop', @tabelinimi='test', @veerunimi='testID';

