Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQL]procedura składfowana SQL
donkosiorro
post 25.06.2015, 20:07:06
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 27.01.2015

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
Fred1485
post 25.06.2015, 20:28:57
Post #2





Grupa: Zarejestrowani
Postów: 361
Pomógł: 22
Dołączył: 10.02.2015

Ostrzeżenie: (0%)
-----


Jeśli po modyfikacji czy też dodaniu jakiegoś rekordu ma sie wywołać jakas funkcja np zmiana w tabeli zainteresuj się wyzwalaczami (triggers).


--------------------
  1. echo 'I was trying';
  2. die ();
Go to the top of the page
+Quote Post
donkosiorro
post 25.06.2015, 20:34:06
Post #3





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 27.01.2015

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
CuteOne
post 25.06.2015, 20:57:25
Post #4





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


  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
Go to the top of the page
+Quote Post
donkosiorro
post 25.06.2015, 21:04:48
Post #5





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 27.01.2015

Ostrzeżenie: (0%)
-----


co bym nie robił ciągle wyskakuje komunikat Incorrect syntax near 'After'. :/
Go to the top of the page
+Quote Post
mmmmmmm
post 25.06.2015, 21:24:12
Post #6





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----


Jakbys podał co to za DBMS to byłoby znacznie łatwiej... Domyślam się, że MS SQL Server, ale jaka wersja?
Go to the top of the page
+Quote Post
donkosiorro
post 25.06.2015, 21:28:37
Post #7





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 27.01.2015

Ostrzeżenie: (0%)
-----


tak MS SQL SERWER 2012
Go to the top of the page
+Quote Post
CuteOne
post 25.06.2015, 21:31:40
Post #8





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


https://msdn.microsoft.com/en-us/library/ms189799.aspx
Więcej google: mssql 2012 triggers
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 12:31