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

Динамично изграждане на оператор за избор в Oracle 12c

Можете да използвате това като основа

declare
    upper_level number;
    t_sql varchar2(1000);
    l_sql varchar2(1000);
begin
    select lvl_cnt into upper_level from 
    SETUPS S,META S
    where s.id=m.id

    l_sql:='SELECT ID,
     Title,
     Desc,
     Type,'||
     upper_level


    for lvl in 1..upper_level
     loop
         t_sql:=t_sql||'type_'||lvl||','
     end loop;
     l_sql:=l_sql||t_sql
     l_sql:=rtrim(l_sql,',');
     l_sql:=l_sql||' FROM SCHEMA.TABLE
    WHERE ID = 1;';

end


  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

  2. ORA-30076:невалидно поле за извлечение за източник на извлечение

  3. Oracle 'Partition By' и 'Row_Number' ключова дума

  4. Oracle SQL създава различни нива на данни от една таблица

  5. Какъв е максималният брой редове във вложената таблица на оракулите