SORT (отсортировать очередь)
SORT(очередь[, [+]ключ,....[-]ключ имя])
очередь | Метка ОЧЕРЕДИ, или метка переданного параметра типа QUEUE. |
+- | Ведущий знак плюс/минус означает, что по данному ключу сортировка производится по возрастанию/убыванию. |
ключ | Метка поля, описанного в составе ОЧЕРЕДИ. Если ОЧЕРЕДЬ имеет префикс, то КЛЮЧ также ДОЛЖЕН иметь его. |
имя | Строковая константа, переменная или выражение, содержащая атрибуты NAME для полей, входящих в состав ОЧЕРЕДИ, разделенные запятыми и с необязательным ведущим знаком + или - для каждого атрибута. Этот параметр чувствителен к регистру букв. |
SORT переупорядочивает элементы ОЧЕРЕДИ. SORT не занимается перемещением данных, она только изменяет указатели элементов.
SORT(очередь,ключ) | Сортирует ОЧЕРЕДЬ в порядке, задаваемом ключом. Можно использовать до 16 ключей, разделенных запятыми, с необязательным ведущим знаком плюс или минус, чтобы задать сортировку по возрастанию или убыванию. |
SORT(очередь,имя) | Сортирует ОЧЕРЕДЬ в порядке, задаваемом строкой ИМЯ. Строка ИМЯ должна содержать NAME-атрибуты полей, разделенные запятыми и с необязательными знаками плюс или минус для задания порядка сортировки. |
Возвращаемые ошибки:
08 Недостаточно памяти
75 Неверный описатель типа поля
Пример:
Location QUEUE,PRE(Loc)
Name STRING(20),NAME('FirstField')
City STRING(10),NAME('SecondField')
State STRING(2)
Zip DECIMAL(5.0)
.
CODE
SORT(Location,Loc:State,Loc:City,Loc:Zip)
!Сортируем по индексу в пределах
! города в пределах штата
SORT(Location,+Loc:State,-Loc:Zip)
!Сортируем по индексу в пределах
! штата по убыванию
SORT(Location,'FirstField,-SecondField')
!Сортируем по убыванию по имени
! города