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.