![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 5 Dołączył: 14.10.2008 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Mam problem z stworzeniem zapytania do bazy danych, który mógłby obsłużyć taką transakcję: - dodaję zamówienie do bazy danych (data złożenia, kto etc etc) - dodaję pozycje, które były w tym zamówieniu (każda pozycja musi mieć numer zamówienia, które wcześniej dodałem). w związku z tym moje pytanie brzmi: jak skonstruować transakcję, tak aby nie było problemu z dodaniem numeru id zamówienia do pozycji tegoż zamówienia, które są w innej tabeli? Pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 441 Pomógł: 71 Dołączył: 3.09.2007 Skąd: wrocław Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy dobrze zrozumiałem o co chodzi, ale transakcja nie ogranicza się do operacji na jednej tabeli, ogólnie robisz tak:
1. transacion begin 2. dodajesz zamówienie 3. pobierasz id ostatnio dodanego zamówienia 4. dodajesz pozycje zamówienia 5. jeśli wszystko przebiegło pomyślnie robisz commit 6. jeśli gdzieś pojawił się błąd robisz rollback, dzięki któremu w bazie nie pojawią się informacje o zamówieniu i jego pozycjach |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 18:32 |