Invisible Kolonların SQL İçerisinde Sort Edilme Sırası

Bir projede kullandığımız invisible kolonlar ile ilgili default olarak sort edilme mantığı bizi biraz uğraştırmıştı. Sonradan araştırdığım da eğer tablo içerisinde invisible kolonlarınız varsa oracle bunları default olarak sort edilme listesinde en sonuna atıyor, yani aslında o kolonu tablonun son kolonuymuş gibi değerlendiriyor.

Şöyle açıklamaya çalışayım. Örnek bir tablo create edelim ve üzerinde konuşalım ;

B kolonumuz invisible olarak create ettik. Bu haliyle select ettiğimizde ;

Doğal olarak B kolonu invisible olduğu için gelmedi ve tablodaki değerler de A kolonundan başlayarak sort edilmiş oldu.

Şimdi B kolonunu visible(görünür) yapalım ;

===> alter table kamil.order_test modify b visible
Table altered.

Tekrar select edelim ;

B kolonunu sanki son kolonmuş gibi düşünüp sort etmek isterken de son sıraya koydu.

Burada kolonun en baştan invisible olarak create edilmesi ile tablo create edildikden sonra invisible hale getirilmesi arasında da hiç fark yok.

Umarım bir yerlerde işinize yarar.

Be Sociable, Share!

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


5 + = dokuz