DUP (разрешить повторяющиеся значения полей ключа)
DUP
Атрибут DUP, в описании ключа, позволяет иметь в файле несколько записей с одинаковым значением ключевых полей. Если атрибут DUP пропущен, то попытка добавить или перезаписать запись с уже существующими значениями ключевых полей, вызовет ошибку "Такая запись уже есть" ("Creates Duplicate Key"), и запись не будет записана в файл. Во время последовательной обработки по ключу, записи с одинаковыми ключевыми полями обрабатываются в том физическом порядке, в котором их ключевые поля расположены в файле ключа. Операторы GET и SET обращаются к первой записи из тех, что имеют одинаковые ключевые поля. Атрибут DUP НЕ нужен для индексов, поскольку индексы ВСЕГДА допускают дублированные значения ключевых полей.
Пример:
Names FILE,DRIVER('Clarion'),PRE(Nam)
NameKey KEY(Nam:Name),DUP
!Ключ по имени, разрешаем одинаковые имена
NbrKey KEY(Nam:Number)
!Ключ по номеру. Одинаковые номера запрещены
Rec RECORD
Name STRING(20)
Number SHORT
. .