Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

PL/SQL - trigger - update danych na tabeli bedacej wyliczeniem SUM z 2 innych

grandecalvo 29 Kwi 2013 12:58 1203 2
  • #1 29 Kwi 2013 12:58
    grandecalvo
    Poziom 2  

    Mam problem, zacialem sie z napisanie triggera
    mam 3 tabele

    KSIAZKI

    Kod: sql
    Zaloguj się, aby zobaczyć kod


    zamowienia
    Kod: sql
    Zaloguj się, aby zobaczyć kod


    szczegoly zamowienia

    Kod: sql
    Zaloguj się, aby zobaczyć kod



    Potrzebny mi jest trigger ktory bedzie robil UPDATE na tabeli ZAMOWIENIA dla kolumny ZAM_KWOTA gdy pojawia sie jakiekolwiek zmiany w tabeli SZCZEGOLY_ZAMOWIENIA tzn Insert, Update, Delete.
    Szczegoly_zamowienia sa polaczone kluczami obcymi z pozostalymi dwiema tabelami, z tabeli ksiazki biore cene z tabeli szczegoly-zamowienia ilosc.
    Probuje co napisac, probuje i nie moge sobie poradzic.

    Ktos pomoze?

    Proszę pamiętać o używaniu znaczników syntax. Opcja Listing kodu. - arnoldziq

    0 2
  • #3 29 Kwi 2013 15:17
    grandecalvo
    Poziom 2  

    Wyglada ze sobie poradzilem, a trigger wyglada tak:

    create or replace
    TRIGGER UPDATE_KWOTA
    after insert or update or delete on SZCZEGOLY_ZAMOWIENIA
    begin
    -- Update the Order Total when any order item is changed
    update ZAMOWIENIA set ZAM_KWOTA =
    (select sum(SZC_ILOSC*KSI_CENA) from SZCZEGOLY_ZAMOWIENIA, KSIAZKI
    where SZC_ZAM_ID = ZAM_ID AND SZC_KSI_ID = KSI_ID);
    end UPDATE_KWOTA;

    0