I do something similar, and I have the front end generate updates to the position column of all rows, executed in a single transaction. Then you can fiddle around with the options and tradeoffs of how to ensure in the db that no update is accepted that violates the constraints...
-- Scott Ribe [EMAIL PROTECTED] http://www.killerbytes.com/ (303) 665-7007 voice ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings