Andmbaasid
Id) FROM Asula;
--10. Luua vaade v_asulasuurus(asula_id, asula_nimi, mangijaid), mis annaks
asulatemängijate arvud. Kontrollküsimus: kas võib tekkida kirje, kus mangija id=
0?
--Võib, turniiriga asulas, kus puuduvad klubid.
CREATE VIEW v_asulasuurus (asula_id, asula_nimi, mangijaid) AS
SELECT Id, Nimi, (SELECT COUNT(*) FROM Isik JOIN Klubi ON Klubi.Id = Isik.Klubi
WHERE Klubi.Asula = Asula.Id) FROM Asula;
--11. Lisada lihtne protseduur klubi kustutamiseks sp_kustuta_klubi(klubinimi).
CREATE PROCEDURE sp_kustuta_klubi (IN klubinimi VARCHAR(100))
BEGIN
DELETE FROM Klubi WHERE Nimi = klubinimi;
END
--12. Luua trigger, mis klubi lisamise järel lisaks aadressi asula tabelisse, kui seda
seal pole, ning kui lisab, siis väärtustaks klubi tabelis asula välja uue asula ID'ga
(nimeks tg_lisa_klubi).
CREATE TRIGGER tg_lisa_klubi AFTER INSERT ON Klubi
REFERENCING NEW AS uus FOR EACH ROW
WHEN ((SELECT COUNT(*) FROM Asula WHERE Nimi = uus.aadress) = 0)
BEGIN
DECLARE l_id integer;