Witam,
Mam kilka pytań dotyczących baz danych działających w oparciu o silnik SQL. Posiadam doświadczenie w programowaniu bazodanowym poprzez API Betrieve/Pervasive. Chodzi mi o uzyskanie informacji pozwalających na przeniesienie kodu z API na SQL. Biorę pod uwagę darmowe bazy FireBird, PostgrSQL. I tak:
-
W jaki sposób w bazach SQL realizuje się mechanizm blokowania rekordu do edycji przez innego użytkownika. Chodzi np. o edycję jakiegoś rekordu i o oto aby inny użytkownik nie mógł edytować tego rekordu, gdy jest on edytowany przez kogoś innego.
-
W jaki sposób sprawdzić i poinformować użytkownika, że inna osoba jest w trakcie edycji danego rekordu. Chodzi o to, żeby nie rozpoczynać edycji stanu, który i tak może ulec zmianie w wyniku działań innego operatora.
-
W jaki sposób zablokować do edycji kilka rekordów w danej tabeli, np pozycje magazynowe, których ilości należy zmodyfikować podczas księgowania dokumentu zakupu / sprzedaży
-
Jaki jest zakres działania transakcji. Dotyczą one pojedynczej tabeli, czy też jednocześnie kilku tabel. Posługując się przykładem z pkt. 3. może się okazać, że w magazynie nie ma wystarczającej ilości towaru i dokument sprzedaży trzeba anulować, jednocześnie korygując tabele pozycji magazynowych i stanów magazynowych.
Z góry dziękuję za odpowiedzi.
Prosiłbym o fragmenty kodu realizującego w/w tematy w SQL.