Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wyzwalacze, Problem z Selectem
diodadioda
post
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ę.
Go to the top of the page
+Quote Post
mmmmmmm
post
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);
Go to the top of the page
+Quote Post
diodadioda
post
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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.12.2025 - 21:32