Почему без возможности. Всё довольно просто:
select first 1 skip :index t.col1, t.col2, t.col3, from table1 t order by t.num
Есть ещё прикольный способ поддерживать порядок и обойтись без сдвигов - на строковых ключах порядка (первичные к этому никакого отношения не имеют).:
Пусть изначально, у нас есть упорядоченный набор объектов с ключами:
"1", "2", "3", "4".
Нам надо вставить элемент в 3-тью позицию, между 2 и 3 - тогда его ключ будет "25":
"1", "2", "25", "3", "4"
Теперь опять в третью - ключ "225":
"1", "2", "225", "25", "3", "4"
Удаление - как обычно.
Ну и можно предусмотреть процедуру переиндексации, чтобы ключи в процессе жизни не становились всё более и более длинными. :-)