SQL Kimlik (Otomatik Sayı) bir Hareketi geri alma Bile Artırılır | Netgez.com
SORU
11 Kasım 2008, Salı


SQL Kimlik (Otomatik Sayı) bir Hareketi geri alma Bile Artırılır

Bir ben var .MS SQL için SQL ınsert 2005 DB ile net işlem. Tablo kimliği birincil anahtar vardır.

Bir hata içinde hareket oluştuğunda geri alma() denir. Bir satır ekler doğru geri alınır, ancak bir dahaki sefere ben tabloya veri eklemek için, çevrimiçi bir geri alma asla oluştuysa olarak artırılır. Yani esasen orada kimlik dizideki boşlukları. Geri alma için herhangi bir şekilde() yöntemi kaybolan kimliğini geri?

YaklaÅŸan bu doÄŸru deÄŸil miyim?

CEVAP
11 Kasım 2008, Salı


Eğer düşünürsen, otomatik artan sayıolmamalıdırişlem olabilir. Eğer diğer işlemleri beklemek eğer Otomatik Sayı kullanılmak üzere gittiğini görmek için olsaydı ya da "geri", mevcut işlem kullanarak bloke olacaktır otomatik numara. Örneğin, psuedo benim kod aşağıda tablo KİMLİK sütun için otomatik numara alanı kullanarak göz önünde bulundurun:

User 1
------------
begin transaction
insert into A ...
insert into B ...
update C ...
insert into D ...
commit


User 2
-----------
begin transaction
insert into A ...
insert into B ...
commit

Eğer kullanıcı 2 işlem başlar bir milisaniye sonra kullanıcı 1, sonra onların içine sokun Bir tablo olurdu beklemen kullanıcı 1 tüm işlem tamamlandığında sadece görmek için otomatik numara ilk ınsert ınto kullanılmıştır.

Bu bir özellik, bir hata değil. Eğer onları sıkıca sıralı olmak gerekir eğer Otomatik Sayı üretmek için bir diğer yöntem kullanarak öneriyoruz.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ★ByScrapi★ Designs

    ★ByScrapiâ

    27 AÄžUSTOS 2013
  • Liberator

    Liberator

    14 EYLÜL 2007
  • MADFINGER Games a.s.

    MADFINGER Ga

    21 NİSAN 2009