SORT komutunun temel söz dizimi
Tablo satırlarını uygulama katmanında sıralamak için SORT komutu kullanılır; birden fazla kolona göre, artan/azalan sırayla sıralama yapılabilir. Varsayılan sıralama artandır ve büyük/küçük harf duyarlı değildir:
SORT TMPTABLE ON CREATEDBY, DESC CREATEDAT;
Bu örnek önce CREATEDBY'ye göre artan, eşit olduğu durumlarda CREATEDAT'a göre azalan sıralar.
Dinamik kolonla sıralama
Sıralama kolonlarını çalışma zamanında (runtime) bir string değişkenden okumak için @ işareti kullanılır:
OBJECT:
STRING STRINGVAR3;
STRINGVAR3 = 'CREATEDBY, DESC CREATEDAT';
SORT TMPTABLE ON @STRINGVAR3;
Hiyerarşik sıralama: SORT HIERARCHICAL
Bir tabloda id ve parent-id kolonu varsa, satırları ağaç (tree) görünümüne uygun şekilde sıralamak için SORT HIERARCHICAL kullanılır:
SORT TMPTABLE HIERARCHICAL IDCOLUMN 'NAME' PARENTIDCOLUMN 'COUNTRY';
Id ve parent-id kolonlarındaki değerler tekil (unique) olmalı ve tek bir kolonda tutulmalıdır. Bu sıralama tipi özellikle tree table kontrolüne veri hazırlarken kullanılır.
Sıralamayı geri almak mümkün değil
TROIA interpreter'ı, değişkenlerin geçmiş değerlerini takip etmediği için bir sıralama işleminden sonra satırları eski sırasına döndürecek bir komut yoktur. Orijinal sırayı korumanız gerekiyorsa, sıralamadan önce satırların orijinal sırasını ayrı bir kolonda saklamanız gerekir.
Sonuç
SORT ... ON günlük kullanımda yeterlidir; kolonları dinamik belirlemeniz gerektiğinde @ ile string tabanlı sıralamaya, ağaç yapısında veri göstermeniz gerektiğinde SORT HIERARCHICAL'a geçin.
Yorumlar (0)
Yorum Yaz