pomoc PL/SQL zadanie z TRIGGERami

Odpowiedz Nowy wątek
2015-01-12 17:48
Pijany Pomidor
0

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;
/

ten podział na 4 triggery jest narzucony w treści, czy to Twój pomysł? - Wielki Szczur 2015-01-13 00:12

Pozostało 580 znaków

2015-01-13 17:14
Pijany Pomidor
0

narzucone w tresci...

Pozostało 580 znaków

2015-01-13 18:38
0

trudno komentować kod zawierający mnóstwo błędów , w tym również składniowych i który pewnie był pisany w notatniku :)
zainstaluj jakiś silnik bazodanowy , są darmowe .... , zbuduj bazę, zrób parę testów

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0