| Query | 05.01.2005 - 16:03:13 |
| Arkadaşlar Slm;
Firebirde yeni başladım sayenizde öğrenmeye çalışıyorum. Firebird de oluşturduğum bir datam var. Bir Generator oluşturdum ve normal olarak autoinc bir alan ve sağlıklı çalışıyor. Sorunuma gelince ... SIRA MUS_ADI
1 ALİ 2 VELİ 3 AYŞE 4 FATMA 5 MEHMET 6 MUSTAFA . . . . diye girdiğim kayıtlar var SIRA autoinc alan VE PRİMARY KEY aradan herhangi kayıtları sildiğim zaman ve ardından yeni kayıt eklediğimde(hemen olması şart değil silme işleminden sonra programa girip çıkılabiliyor) kayıt şöyle oluşuyor. SIRA MUS_ADI
1 ALİ 2 VELİ 37 AHMET 38 KAAN 5 MEHMET 39 ATİLLA . . . 35 KEMAL 36 RAHMİ şeklinde oluyor. Yani üretilen no da sorun yok ama sıralamayı silinen alanlara göre yapıyor. Bunu programda iki sakıncası oluyor 1. Doğal olarak sıralamayı doğru yapmıyor. 2. Normal sira alanı dışında benim belirlediğim bir MUS_NO alnı var ve bunu son kaydın MUS_NO suna göre arttırıyorum. Yine MUS_NO lar kendi alanlarına göre gruplandığı için çeşitli filitreler uyguluyorum. Sorunu son gen_id alarak çözümlemek istediğimde işler oldukça karışıyor çünkü uyguladığım çeşitli filitreler var. Burada aslında sadece doğru sıralaması yeterli olacaktır. Sıralamayı da ORDER BY kullanarak yapmaya çalıştığımdada WHERE kullanamıyorum hata veriyor. Napabilirim. Ne yapmalıyım http://www.delphiturkiye.com/forum/viewtopic.php?t=1388&highlight=generator+silme burada da cevabımı bulamadım İyi Çalışmalar | |
| selm@n | 05.01.2005 - 16:31:38 |
| Ve aleykum selam;
Sıralamayı da ORDER BY kullanarak yapmaya çalıştığımdada WHERE kullanamıyorum hata veriyor.
select * from personel where personel.sicil between 1 and 20 order by personel.sicil Hocam bu şekilde yazarsanız çaılşması lazım.. Kolay gelsin; | |
| Query | 05.01.2005 - 16:44:02 |
| @selman hocam teşekkür ederim. Bu şekilde sıralama tamam.
Fakat normal şartlarda PK bir alanı zaten sıralama yapması gerekmiyormu? | |
| guduknecmi | 07.01.2005 - 22:30:05 |
| autoinc alanlar sıralamayı ilk boş alanı doldurarak mı yapıyor?Mesela 1,3,6 kayıtlar varsa yeni kayıt eklendiğinde kaç olacak? 2 mi 7 mi? | |
| husonet | 08.01.2005 - 00:14:12 |
| 7 olacaktır çünkü generator yapılan son kaydın numarasanı alır ona göre işem yapar.
1 3 5 7 olduğunu varsayalım tabloda genaretor yeni eklenecek kayıta 8 i verecektir 7 yi silseniz bile 8 gelecektir. Kolay Gelsin... | |
| Query | 12.01.2005 - 10:00:49 |
| Tabiki 7 diye yapıyor. Ama 7'yi sıralamada 2nin yerine koyuyor. | |
| gkimirti | 12.01.2005 - 12:26:24 |
| benzer olay benimde basıma gelmisti
ibdataset sql cumlesine sıralamak istediginiz alanı eklein bu sekilde daha kullanıslı oluyor. | |
| Query | 12.01.2005 - 18:38:03 |
| Evet bende o şekilde düzelttim. Ama olmaması gerekiyor. Teşekkürler. | |
| Kuri_YJ | 12.01.2005 - 18:47:33 |
| Selamlar,
Server bir Select uygularken hangi sırada getireceğini Order By'a bakarak karar verir, eğer herhangi bir Order By belirtilmediyse Where koşuluna bakar. Eğer Where koşulu verildiyse bu Where koşuluna uygun index ne ise sorgulamayı bu indexe göre yapar ve kayıtları da bu sırada getirir. Eğer hiç biri uymuyor ise ya primary key'i kullanır yada natural order denilen kayıtların disk üzerindeki sıralanmalarına göre getirir. Eğer primary key Server tarafından Clustered indexlenmiş ise natural order = primary key olacaktır. Kolay Gelsin | |
| Query | 15.01.2005 - 09:46:08 |
Selamlar,
Server bir Select uygularken hangi sırada getireceğini Order By'a bakarak karar verir, eğer herhangi bir Order By belirtilmediyse Where koşuluna bakar. Eğer Where koşulu verildiyse bu Where koşuluna uygun index ne ise sorgulamayı bu indexe göre yapar ve kayıtları da bu sırada getirir. Eğer hiç biri uymuyor ise ya primary key'i kullanır yada natural order denilen kayıtların disk üzerindeki sıralanmalarına göre getirir. Eğer primary key Server tarafından Clustered indexlenmiş ise natural order = primary key olacaktır. Kolay Gelsin Slm; Açıklamanız için teşekkürler. Bu olayı açıklıyor. Paradox tan kalma alışkanlıkları unutmak gerekiyor. Artık FIREBIRD var. | |