ďťż
 
[MsSQL]Jaka blokada tabeli dla pobrania następnego nr faktury ďťż
 
[MsSQL]Jaka blokada tabeli dla pobrania następnego nr faktury
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

[MsSQL]Jaka blokada tabeli dla pobrania następnego nr faktury



DariuszK - 04-11-2005 23:16
[MsSQL]Jaka blokada tabeli dla pobrania następnego nr faktury
  Witam serdecznie

Chciałbym spytać jaką blokadę w transakcji powinienem użyć jeżeli chciałbym
dodać nowy nr. faktury do tabeli faktury.

W transakcji
1) Pobieram nr ostatniej faktury w roku (w tym momencie musiałbym
całkowicie zablokowac odczyt z tabeli poniważ jeżeli trafi sie jeszce jedna
operacja zapisu faktury to zostanie pobrany ten sam numer co z kolei
zaowocuje wpisaniem dwóch faktur, ktos może powiedzieć że to sie może nie
zdażyć , tylko co ja powiem klientowi który pod koniec roku będzie miał
dwa takie same numery faktur)
2) Incrementuję jej numer o jeden
3) Zapisuje w tabeli

Czy może dodać sztuczne pole rok oraz dodać zakaz duplikatów dla
połączonych kolumn roku i numeru faktury (plus znacznik proformy i
korekty)?

Z góry dziękuję za odpowiedź darek





=?ISO-8859-2?Q?Cezary_Gr=B1dys?= - 04-11-2005 23:16
=?ISO-8859-2?Q?Re=3A_=5BMsSQL=5DJaka_blokada_tabeli_dla_?==?I SO-8859-2?Q?pobrania_nast=EApnego_nr_faktury?=
  Użytkownik DariuszK napisał:
> Witam serdecznie
>
> Chciałbym spytać jaką blokadę w transakcji powinienem użyć jeżeli chciałbym
> dodać nowy nr. faktury do tabeli faktury.
>
> W transakcji
> 1) Pobieram nr ostatniej faktury w roku (w tym momencie musiałbym
> całkowicie zablokowac odczyt z tabeli poniważ jeżeli trafi sie jeszce jedna
> operacja zapisu faktury to zostanie pobrany ten sam numer co z kolei
> zaowocuje wpisaniem dwóch faktur, ktos może powiedzieć że to sie może nie
> zdażyć , tylko co ja powiem klientowi który pod koniec roku będzie miał
> dwa takie same numery faktur)
> 2) Incrementuję jej numer o jeden
> 3) Zapisuje w tabeli
>
>
> Czy może dodać sztuczne pole rok oraz dodać zakaz duplikatów dla
> połączonych kolumn roku i numeru faktury (plus znacznik proformy i
> korekty)?
>

To chyba będzie rozsądne. Baza będzie sama bronić się przed podwójnymi
wpisami, nawet gdyby aplikacja klienta miała jakiś błąd.

--
Cezary Grądys
czarekgr@wa.onet.pl




Grzesiek G. - 04-11-2005 23:16
=?ISO-8859-2?Q?Re=3A_=5BMsSQL=5DJaka_blokada_tabeli_dla_?==?I SO-8859-2?Q?pobrania_nast=EApnego_nr_faktury?=
  DariuszK napisał(a):
> Witam serdecznie
>
> Chciałbym spytać jaką blokadę w transakcji powinienem użyć jeżeli chciałbym
> dodać nowy nr. faktury do tabeli faktury.
>
> W transakcji
> 1) Pobieram nr ostatniej faktury w roku (w tym momencie musiałbym
> całkowicie zablokowac odczyt z tabeli poniważ jeżeli trafi sie jeszce jedna
> operacja zapisu faktury to zostanie pobrany ten sam numer co z kolei
> zaowocuje wpisaniem dwóch faktur, ktos może powiedzieć że to sie może nie
> zdażyć , tylko co ja powiem klientowi który pod koniec roku będzie miał
> dwa takie same numery faktur)
> 2) Incrementuję jej numer o jeden
> 3) Zapisuje w tabeli
>
>

TABLOCKX.

> Czy może dodać sztuczne pole rok oraz dodać zakaz duplikatów dla
> połączonych kolumn roku i numeru faktury (plus znacznik proformy i
> korekty)?
Zamiast sztucznego pola proponuję kolumnę wyliczaną.

Pozdrawiam

--
Grzegorz Gruza
Odpowiadając usuń "spamerom_nie." z adresu!!!




Vez do Han - 04-11-2005 23:16
=?iso-8859-2?Q?Re:_=5BMsSQL=5DJaka_blokada_tabeli_dla_pobrani a_nast=EApne?==?iso-8859-2?Q?go_nr_faktury?=
  Użytkownik "DariuszK" <dareczek_k@o2.pl> napisał w wiadomości
news:dk44n1$13p$1@polsl.gliwice.pl...
> Witam serdecznie
>
> Chciałbym spytać jaką blokadę w transakcji powinienem użyć jeżeli
chciałbym
> dodać nowy nr. faktury do tabeli faktury.

> W transakcji
> 1) Pobieram nr ostatniej faktury w roku (w tym momencie musiałbym
> całkowicie zablokowac odczyt z tabeli poniważ jeżeli trafi sie jeszce
jedna
> operacja zapisu faktury to zostanie pobrany ten sam numer co z kolei
> zaowocuje wpisaniem dwóch faktur, ktos może powiedzieć że to sie może nie
> zdażyć , tylko co ja powiem klientowi który pod koniec roku będzie
miał
> dwa takie same numery faktur)
> 2) Incrementuję jej numer o jeden
> 3) Zapisuje w tabeli
>
[...]
Mam takie pytanko.
Po co pobierasz ten numer (operacja nr1)? Obrabiasz go jakoś w aplikacji?
Pytasz operatora?
Jak nie to może wystarczy w chwili wstawiania
insert into faktura(pole_z_numerem,....)
values(select max(pole_z_numerem)+1 from faktura where ...,....)
Gdzie w warunku where są zaszyte zasady numeracji.





DariuszK - 04-11-2005 23:16

 
> Po co pobierasz ten numer (operacja nr1)? Obrabiasz go jakoś w aplikacji?
> Jak nie to może wystarczy w chwili wstawiania
> insert into faktura(pole_z_numerem,....)
To by było najlepsze ale miałem już takie rozwiązanie w systemie
rezerwacji przez skrypty asp i zdażało sie że wysylano do subskrybentów
ofertę na promocje i wtedy wiekszość rezerwowała przez stronę a wtedy
zdażało sie że w tym samym momencie uruchamiane było kilkadziesiąt skryptów
które powodowaly doblowanie rekordów.




DariuszK - 04-11-2005 23:16

  Wielkie dzięki !




DariuszK - 04-11-2005 23:16

  Wielkie dzieki !
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Zdalny =?ISO-8859-2?Q?dost=EAp_do_MSSQL_bez_zarz=B1dzani?==?ISO-8859-2?Q?a?= [MSSQL] =?ISO-8859-2?Q?zgodno=B6ci_z_licencjami_Microsoft_?==?ISO-8859-2?Q?SQL_Server?= [MSSQL 2k] - jak =?ISO-8859-2?Q?pod=B3=B1czy=E6_serwer_na_?==?ISO-8859-2?Q?porcie_innym_ni=BF_1433=3F?= MSSQL Express czy Oracle Express MSSQL 2005 i uruchamianie procedury o =?ISO-8859-2?Q?okre=B6lone?==?ISO-8859-2?Q?j_godzinie?= [MSSQL] ACCESS - SQL =?ISO-8859-2?Q?B=B3ad_w_konwersji_lic?==?ISO-8859-2?Q?zb?= [MSSQL 2000] =?ISO-8859-2?Q?wywo=B3anie_procesu_z_poziomu_?==?ISO-8859-2?Q?job=27a?= [MSSQL 2K] =?ISO-8859-2?Q?Wp=B3yw_ustawie=F1_regionalnych_?==?ISO-8859-2?Q?serwera_na_zapytania?= Pobierananie danych z innej bazy danych w MSSQL Migracja MSSQL 2005 CTP na 2005 Express
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • ets2.xlx.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com