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ę.