![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 16.06.2014 Ostrzeżenie: (0%)
|
Witam
Mam pewien problem z wyzwalaczem Mam 2 Tabele zakupy2014 i ostatnie_ceny_wg_indeks Pomijając do teraz robi wyzwalacz (opisane w : Temat: Grupowanie sortowanie ostatnie 3 wyniki MySQL) W tabeli zakupy2014 jest kolumna ilosc jej wartość powinna być wprowadzana do tabeli ostatnie_ceny_wg_indeks do kolumny ilosc_w_2014 i to dziala, jednak chciałbym, żeby ostatnią wartość dodało do istaniejącej w tabeli zakupy2014 i taką nadpisało. Teraz wygląda to tak: BEGIN DECLARE v_cena_przedost, v_cena_przedprzedost DECIMAL(8,2) DEFAULT NULL; DECLARE v_data_przedost, v_data_przedprzedost date DEFAULT NULL; DECLARE ilosc_w_2014 DECIMAL(8,2) DEFAULT NULL; SET @x = (SELECT ilosc_w_2014 FROM ostatnie_ceny_wg_indeks where indeks = NEW.indeks); SET @z = NEW.ilosc+@x; SELECT cena_ost, data_ost, cena_przedost, data_przedost INTO v_cena_przedost, v_data_przedost, v_cena_przedprzedost, v_data_przedprzedost FROM ostatnie_ceny_wg_indeks WHERE indeks = NEW.indeks; REPLACE ostatnie_ceny_wg_indeks (nazwa_towaru, indeks, cena_ost, data_ost, cena_przedost, data_przedost, cena_przedprzedost, data_przedprzedost, ilosc_w_2014) VALUE (NEW.nazwa_towaru, NEW.indeks, NEW.cena_zakupu, NEW.data_realizacji, v_cena_przedost, v_data_przedost, v_cena_przedprzedost, v_data_przedprzedost, @z ); END Coś nie tak robię z SET @x bo jeśli zamianst formuły SET @z = NEW.ilosc+@x; dodan SET @z = NEW.ilosc+1; to dolicza tą 1 i podmienia jak trzeba. Przy tym co napisałem zwraca NULL. Nakierujcie mnie proszę. |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%)
|
SET @x = Coalesce((SELECT ilosc_w_2014 FROM ostatnie_ceny_wg_indeks where indeks = NEW.indeks),0);
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 16.06.2014 Ostrzeżenie: (0%)
|
No po takim zabiegu do tabeli wstawia tylko ostatnia wartosc, nie dolicza do tej istniejącej w bazie...
Nie wiem co robilem wczesniej ale teraz faktycznie działa...musze to prześledzić Ten post edytował diodadioda 27.06.2014, 22:41:54 |
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 21:32 |