firebird de genarator hk.

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
kamuran48
Üye
Mesajlar: 284
Kayıt: 29 Eyl 2003 09:27
Konum: muğla

firebird de genarator hk.

Mesaj gönderen kamuran48 »

selam,
oluşturduğumuz genarator de numara sonsuz a gidiyor dimi.numara mesela 21000000 den sonra tekrar 0 dönmesi mümkün deil değilmi.
iyi çalışmalar.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7602
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Tabiiki siz müdahele etmediğiniz sürece artar. Ama sıfırlamak istiyorsanız bu da mümkün. Tam yazımı aklımda değil ama generatörü istediğiniz sayıya ayarlıyabilirsiniz. IB Expert gibi bir araçla daha kolay olur.
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Sonsuz bir sayıyı PC nasıl tutsun ki? Tabii ki değer aştıktan sonra sıfıra geri dönüyor. Alanı INTEGER tanımlamışsanız 2 üzeri 32 den sonra 0 olacaktır. BIGINT tanımlarsanız 2 üzeri 64 ten sonra 0 a geri dönecektir. BIGINT yeterince büyük bir değer. Kolay kolay dolduracağınızı sanmıyorum.
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

isabet olmuş.-bende bunu düşünüyodum-

oracle'ın xe sürümünü kurcalarken sequence'lerin max değerinin 999.999.999.999.999.999.999.999.999 olduğunu gördüm. firebird ' de ise en büyük tam sayı bigint var ve o da 2^63 = 9.223.372.036.854.775.808 girilebiliyor. (aslında tam olarak bu rakamı da kabul etmiyor)

gerçi rakamı okumaya kalktım beceremedim ama birinde 27 basamak diğerinde 19 basamak dikkatimi çekti doğrusu....

hatta numeric(38,2) şeklinde tanımlanan bir alana aşağıdaki -nasıl telaffuz edileceğini bilmediğim- rakamı normal bir şekilde girdim oracleda
(999.999.999.999.999.999.999.999.999.999.999.999) ama firebird'te aynı alanı tanımlamaya çalıştığımda numeric(18) den fazlasını kabul etmiyor.

mysql ise bigint'i işaretsiz olarak tanımlamaya izin veriyor. bu sayede 1 basamak daha yukarı çıkılabiliyor. hatta bigint(255) gibi tanımlamalara bile izin veriyor ama deneme fırsatım olmadı..
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Oracle da iki 64 bitlik değer olarak tutuluyordur belki sadettin.
Cevapla