I use Forms6i , there is a block based on database table, after I execute the query, I want to order the data that already fetched in diffrenet way,
so I change the order_by property for the block then I make execute query again.
I think this cause another fetch of data, so it will be slow with huge data,
are there any way to order the data (in the block)at runtime without execute query again?
Not easily. If there was not too much data you could store it in memory in a Record Group or in a colection ("index-by table") in a form-level package, and then use that in-memory data to populate the block (which would now have to be a non-base-table block) in the desired order. That will be a lot of code and fun!
Personally, I'd rather take the hit on the re-query.