Witam,
Jestem nowa i totalnie zielona w PL/SQL... mam zadanie do zrobienia :
Mam tabele:
Produkt (kodProduktu, nazwaProduktu, iloscZapasuMagazyn)
Zamowienie (numerZamowienia, kodKlienta, dataZamowienia)
SzczegolyZamowienia (numerZamowienia, kodArtukulu, iloscZamowionychProduktow)
Dodajac zamowienie nalezy sprawdzic czy dysponujemy wystarczajaca ilosci produktow w magazynie (TRIGGER_1)
Jesli nie, tworzymy zamowienie u dostawcy w tabeli ZawowienieDostawca (data, kodProduktu #, zamowionaIlosc) z bierzaca data i kodem produktu (TRIGGER_2).
Jesli istnieje juz zamowienie z ta sama data i dla tego samego kodu produktu nalezy uaktualnic ilosc w zamowieniu (TRIGGER_3).
W kazdym wypadku zamowienie zostaje zapisane (TRIGGER_4).
Ponizej moje « kody » niestety niewiele to ma z prawdziwym PL/SQL ale jak mowilam to dopiero slabiutkie poczatki wiec licze na jakies wskazowki.
TRIGGER 1
CREATE TRIGGER TRIGGER_1
BEFORE INSERT kodProduktu
ON SzczegolyZamowienia
BEGIN
SELECT kodProduktu
FROM Produkt
INNER JOIN SzczegolyZamowienia
ON Produkt.kodProduktu=SzczegolyZamowienia.kodProduktu
IF Produkt.iloscZapasuMagazyn < SzczegolyZamowienia.zamowionaIlosc
END;
/
TRIGGER 2
CREATE TABLE ZamowienieDostawca (
date SYSTIMESTAMP
kodProduktu NUMBER (10)
zamowionaIlosc NUMBER(5));
SELECT kodProduktu
FROM Produkt
INNER JOIN ZamowienieDostawca
ON Produkt.kodProduktu=ZamowienieDostawca.kodProduktu
BEGIN
IF ZamowienieDostawca.date IS NULL
THEN
ADD nowe zamowienie
IN ZamowienieDostawca
TRIGGER 3
CREATE TRIGGER_3
AFTER INSERT
ON
BEGIN
IF data IS NOT VALEUR UNIQUE
AND kodProduktu IS NOT VALEUR UNIQUE
THEN
UPDATE
ZamowienieDostawca.zamowionaIlosc= ZamowienieDostawca. zamowionaIlosc +SzczegolyZamowienia.zamowionaIlosc
END;
/