postgresql7.1 update survey_questions set sort_order = (case when sort_order = (cast (:sort_order as integer)) then cast (:next_sort_order as integer) when sort_order = (cast (:next_sort_order as integer)) then cast (:sort_order as integer) end) where section_id = :section_id and sort_order in (:sort_order, :next_sort_order)