Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como gerar Ordem Dinâmica por cláusula no procedimento PL/SQL?


Ao fazer uma classificação dinâmica, recomendo usar separar cláusulas:
order by (case when in_sort_column = 'col1' then col1 end),
         (case when in_sort_column = 'col2' then col2 end),
         (case when in_sort_column = 'col3' then col3 end)

Isso garante que você não terá um problema inesperado com a conversão de tipo, se as colunas forem de tipos diferentes. Observe que case retornar NULL sem um else cláusula.