Forum
ben mesela bir ürünID oluşturdum.
özelliklerden identy specificationdan identy incrementi 1 yaptım ve seedi ise 0001 yapmak için ne yapmam gerkli.
yani autokey her yeni ürün adı için
00001
00002
00003 şeklinde nasıl arttırılabilir ?
ilginiz için teşekkürler, ama bendeki ayarlar aynı. lakin yine 1 , 2 , 3 , 4 şeklinde yazılı.
ben onu 00001 yapmak istiyorum. decimal yapsam farkı olur mu ?
Çok pardon. Anladığım kadarıyla siz otomatik arttırma ayarını başarılı bir şekilde oluşturmuşsunuz ancak görüntülenen sayının biçimlendirmesi ile ilgili sıkıntınız var.
SQL'de belirttiğiniz biçimde bir tanımlama yok; diğer veritabanlarında da olduğunu sanmıyorum çünkü buradaki durum tamamen oradaki verinin biçimlendirmesiyle ilgili. Bu biçimlendirme de program tarafında çözülür; veritabanı kısmında değil.
Normalde id'ler bu şekilde pek tutulmaz ve tavsiye edilmez. Fakat bu şekilde yapmak istiyorsanız şu şekilde bir yol izleyebilirsiniz.
create function CustomerNumber (@id int)
returns char(5)
as
begin
return 'C' + right('0000' + convert(varchar(10), @id), 4)
end
teşekkürler. SQL baya derin konu galiba. return C nin anlamını açıklayabilirmisiniz mahsuru yoksa? yeniyim de SQL de.
Normalde id'ler bu şekilde pek tutulmaz ve tavsiye edilmez. Fakat bu şekilde yapmak istiyorsanız şu şekilde bir yol izleyebilirsiniz.
create function CustomerNumber (@id int)
returns char(5)
as
begin
return 'C' + right('0000' + convert(varchar(10), @id), 4)
end
Bu da bir nevi biçimlendirmedir. Üstelik datanın her okunuşunda SQL tarafında bu sorguyu çalıştıracaksınız. Bu fonksiyonu bir view'da kullanıp her iki durumun da performans istatistiğini incelerseniz kaybı görebilirsiniz.
En sağlıklı yol uygulama tarafında biçimlendirme yöntemlerini kullanmak.
uygulamadan kastınz, programlamayla mı ? yani programlıyıcı tarafından ...
Şöyle diyelim.
Veriler veritabanında yer alır; o veriler de en az 1 yazılım tarafından kullanılır ya; işte o yazılımı kastediyorum.
Tekrar söyliyim. Bu tarz id indexleme işlemlerinden kaçınınız.
Benim verdiğim örnek kodda gördüğünüz 'C' size C0001, C0002 gibi id değerleri üretiyor.