Звучит так, как будто вы хотите столбец идентификаторов, который затем можно переопределить, как только он получит начальное значение. Одним из решений было бы иметь два столбца, один из которых вызывал бы «InitialOrder», то есть столбец идентификатора с автоинкрементом, а затем второй столбец с именем doc_order, для которого изначально установлено то же значение, что и в поле InitialOrder (возможно, даже как часть вставьте триггер или хранимую процедуру, если вы делаете вставки таким образом), но дайте пользователю возможность редактировать этот столбец.
Это требует дополнительных нескольких байтов на запись, но решает вашу проблему, и, если она вообще имеет какое-либо значение, вам будут доступны как исходный порядок документов, так и порядок сброса пользователя.
Кроме того, я не уверен, должен ли ваш doc_order быть уникальным или нет, но если нет, вы можете затем отсортировать возвращаемые значения по doc_order и InitialOrder, чтобы обеспечить согласованную последовательность возврата.