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

Dynamicznie twórz instrukcję select w Oracle 12c

Możesz użyć tego jako podstawy

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. Pobieranie struktury tabeli za pomocą dynamicznego SQL

  2. Usuń rekordy z tabeli źródłowej po ich przesłaniu za pomocą procedury składowanej do tabeli docelowej

  3. Przestaw Oracle z podzapytaniem

  4. Jak ograniczyć wyniki w Oracle

  5. Problemy z wyzwalaczem PL/SQL