Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak wygenerować Dynamic Order by klauzula w procedurze PL/SQL?

Podczas sortowania dynamicznego zalecam używanie oddzielnego klauzule:

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)

Gwarantuje to, że nie będziesz mieć nieoczekiwanego problemu z konwersją typów, jeśli kolumny są różnych typów. Zwróć uwagę, że case zwróć NULL bez else klauzula.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy używanie ROWID do lokalizowania wiersza/rekordu w Oracle jest bezpieczne?

  2. Dlaczego otrzymuję za mało wartości podczas uruchamiania INSERT?

  3. Zapytanie o dane z XML

  4. php oci_bind_by_name zmiennoprzecinkowe na numeryczne

  5. Java:zbiór wyników jest pusty podczas wywoływania procedury składowanej z kursorem ref jako OUT