Оба RECID и ROWID являются уникальными указателями на конкретную запись в базе данных.
Оба являются более или менее физическими указателями на саму базу данных, за исключением таблиц, не относящихся к OpenEdge, где нет эквивалента на базовой платформе. В этих случаях он может состоять из значений, составляющих первичный ключ.
RECID - это 32-разрядные целые числа до 10,1A, и они были хороши, когда база данных была базой данных OpenEdge и имела только одну область. Начиная с версии 10.1B они были обновлены до 64-битных целых чисел.
В версии v6 была добавлена возможность подключения к базам данных, отличных от OpenEdge, а в версии v8 - для создания баз данных OpenEdge из нескольких областей хранения. В этот момент идентификаторов RECID было недостаточно для уникального обращения ко всем записям в таблице при любых обстоятельствах.
Так появилась структура ROWID. Его фактическая архитектура зависит от типа базы данных, но не страдает от ограничений целочисленного типа.
Документация довольно ясно гласит , что RECID не должны использоваться в дальнейшем , за исключением кода, который манипулирует метасхемой базы данных OpenEdge.