2009-03-13 20 views
12

GUID'leri anahtar olarak kullanmak için iyi bir proje olan bir Oracle projem var. Benim veritabanında çalıştırdığınızda http://feuerthoughts.blogspot.com/2006/02/watch-out-for-sequential-oracle-guids.htmlOracle SYS_GUID değişmiyor

itibaren aşağıdaki pasajı

SET SERVEROUTPUT ON 
BEGIN 
FOR indx IN 1 .. 5 
LOOP 
DBMS_OUTPUT.put_line (SYS_GUID); 
END LOOP; 
END; 
/

bulundu alıyorum (I versiyonları 10g ve sürüm 11 üzerinde denedim) çıkışı gibi

64FE4083D6BA7CB4E0400F0A0E0A18B0 
64FE4083D6BB7CB4E0400F0A0E0A18B0 
64FE4083D6BC7CB4E0400F0A0E0A18B0 
64FE4083D6BD7CB4E0400F0A0E0A18B0 
64FE4083D6BE7CB4E0400F0A0E0A18B0 

yani Değer asla değişmez! Bunu beklendiği gibi çalışmak için yapmak zorunda olduğum bir şey var mı?

Düzenleme: Çok dikkatli değilim - GUID'ler değişiyor, ancak yukarıdaki bağlantının bahsettiği sıralı GUID sorunundan muzdarip gibi görünüyor.

cevap

16

Tamam görünüyor. açıklamadan:

SYS_GUID oluşturur ve 16 bayt oluşan bir genel benzersiz tanımlayıcı (HAM değerini) döndürür. En platformlarında, üretilen tanımlayıcı , bir konakçı tanımlayıcı bu işlem veya iplik için bir işlem ya da iplik işleminin tanımlayıcı veya fonksiyonu çağıran iplik ve değeri tekrarlanmayan (bayt sekansı) oluşmaktadır . sizin örnekten

:

 
64FE4083D6BA7CB4E0400F0A0E0A18B0 
64FE4083D6BB7CB4E0400F0A0E0A18B0 
64FE4083D6BC7CB4E0400F0A0E0A18B0 
64FE4083D6BD7CB4E0400F0A0E0A18B0 
64FE4083D6BE7CB4E0400F0A0E0A18B0 

kimse bu GUID değerlerinin dağılımı hakkında bir şey söz. Onlar tekrar edilmemeli ve onlar. Her seferinde aynı çıktıyı almadıkça.

+1

İyi gözler! Sanırım bu, yayınladığım düşüncenin konuştuğu sorun. –

15

değeri değişir mi ....

  * 
64FE4083D6BA7CB4E0400F0A0E0A18B0 
64FE4083D6BB7CB4E0400F0A0E0A18B0 
64FE4083D6BC7CB4E0400F0A0E0A18B0 
64FE4083D6BD7CB4E0400F0A0E0A18B0 
64FE4083D6BE7CB4E0400F0A0E0A18B0 
      * 
+1

Teşekkürler - şimdi aptal hissediyorum ... –

+1

:-) Hepimiz oradaydık .... bir saat için bir şeye bakabilir ve bir meslektaşım sonra 5 saniye içinde noktalar bir şey nokta değil. – cagcowboy

+1

Biçimlendirmenin hoş kullanımı. –