Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL]procedura składfowana SQL
Forum PHP.pl > Forum > Przedszkole
donkosiorro
Witam.
Mam pytanie w jaki sposob ułożyc procedurę skladowaną która po dodaniu transakcji sprzedaży produktu pomniejszy mi jego ilość z innej tabeli o tyle ile zostało "sprzedanych " sztuk?

Jaśniej chodzi o to ze jak w tabeli TRANSAKCJA dodam rekord gdzie odwołam się do klucza obcego do tabeli STANY_MAGAZYNOWE i zatwierdze to zmiejszy mi sie w tabeli STANY MAGAZYNOWE w atrybucie ilosć właśnie ilosc tego produktu o 1

bede wdzięczny za info

pozdrawiam
Fred1485
Jeśli po modyfikacji czy też dodaniu jakiegoś rekordu ma sie wywołać jakas funkcja np zmiana w tabeli zainteresuj się wyzwalaczami (triggers).
donkosiorro
ok użyłem nazwa procedura skladowana w ogólnym znaczeniu. Wyzwalacz to specjalny rodzaj procedury

Chodzi mi bardziej jak mniej wiecej powinien wygladać kod takiego wyzwalacza bo nie bardzo ogarniam jak napisać go
CuteOne
  1. CREATE TRIGGER zmien
  2. AFTER INSERT
  3. ON transakcja
  4.  
  5. BEGIN
  6.  
  7. UPDATE STANY_MAGAZYNOWE SET stany -= 1 WHERE id_stanu = :new.id_stanu
  8.  
  9. END;


Więcej na google: triggers on create
donkosiorro
co bym nie robił ciągle wyskakuje komunikat Incorrect syntax near 'After'. :/
mmmmmmm
Jakbys podał co to za DBMS to byłoby znacznie łatwiej... Domyślam się, że MS SQL Server, ale jaka wersja?
donkosiorro
tak MS SQL SERWER 2012
CuteOne
https://msdn.microsoft.com/en-us/library/ms189799.aspx
Więcej google: mssql 2012 triggers
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.