SQL protseduur


nagu funktsioonid programmeerimise keeles

salvestatud protseduurid ( Store Procedure )

tegevused, mis saab automaatselt teha ( INSERT INTO, ALTER TABLE, SELECT, DELETE, UPDATE )

CREATE TABLE linnad(
linnID int PRIMARY KEY identity(1,1),
linnNimi varchar(30) unique,
elanikeArv int not null,
maakond varchar(25)
);
--Protseduur, mis lisab (INSERT) tabelisse andmed ja kohe näitab (SELECT) tabeli
CREATE PROCEDURE lisaLinn
@linnNimi varchar(30),
@elanikeArv int,
@maakond varchar(25)
AS
BEGIN
INSERT INTO linnad(linnNimi, elanikeArv, maakond)
VALUES (@linnNimi, @elanikeArv, @maakond);
SELECT * FROM linnad;
END;

--kutse
Exec lisaLinn 'Pärnu', 30000, 'Pärnu';

--protseduur, mis kustutab tabelist linnID järgi
CREATE PROCEDURE kustutaLinn
@id int
AS
BEGIN
SELECT * FROM linnad;
DELETE FROM linnad WHERE linnID=@id;
SELECT * FROM linnad;
END

EXEC kustutaLinn 4;

--protseduur mis uuendab tabeli ja suurendab elanike arv 10%
CREATE Procedure uuendaLinn
@arv
AS
BEGIN
SELECT * FROM linnad;
UPDATE linnad SET elanikeArv=elanikeArv*1.1;
SELECT * FROM linnad;
END

EXEC uuendaLinn 0.05;