Da zäumst du dein Pferd von hinten auf.
Dieser Ansatz ist für SQL grundfalsch.
Befreie dich von der LF-Denke und kümmere dich ausschließlich um den SQL.
Für jede Sortierung legst du halt 2 Funktionen an:
- declare und Open des Cursors
- Fetch next des Cursors und Close am Ende
Dies führt zu statischen SQL's die erheblich performanter sind.
Benötigst du eine neue Sortierung, gibts 2 neue Funktionen.
Fehlt dazu ein Index, dann wird er halt angelegt.

Dein Ansatz führt zu a) dynamischem SQL und b) zu keiner Garantie dass der Index (LF) auch verwendet wird.