Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да генерирам динамична поръчка по клауза в PL/SQL процедура?

Когато правите динамично сортиране, препоръчвам да използвате отделно клаузи:

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)

Това гарантира, че няма да имате неочакван проблем с преобразуването на типа, ако колоните са от различни типове. Обърнете внимание на този case върне NULL без else клауза.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. вмъкване на множество редове в Oracle SQL

  2. Грешка с невалиден идентификатор за v_MONTH в динамична заявка

  3. Импортирайте една схема в друга нова схема - Oracle

  4. изтрийте дублиращи се редове от Oracle

  5. Oracle:Комбинирайте две таблици с различни колони