If a row is deleted from the table, then it won't work properly.
A way around this is to have an additional column with a value in it.
To work successfully, there must be a sequential list.
Oh dear. I can't see how that can be accomplished. Once a record is deleted it would muck any sequential list up. Unless the numbers were created by code. I have no idea how. It would mean changing the entire table each time a record is deleted or a new record added.