sql >> Databáze >  >> RDS >> Oracle

Jak převést řádky na sloupce v tabulce Oracle

Nedávno jsem narazil na tabulku oracle, která má 50 sloupců a potřebuji analyzovat každý sloupec pro konkrétní řádek. Bylo těžké prohlížet těch 50 sloupců v řádcích, tak jsem vytvořil pod PLSQL blok, abych převedl řádky na sloupce. Toto převezme název tabulky jako vstup a vytiskne jeden řádek ve sloupcovém formátu

set serveroutput on
declare
colname varchar2(100);
sql_str VARCHAR2(200);
col_value varchar(100);
--------- !!!! Carefully change this select state ment !!! --------------
cursor cur2 is select COLUMN_NAME from dba_tab_columns where TABLE_NAME='&1';
begin
for rec1 in cur2
loop
colname :=rec1.COLUMN_NAME;
sql_str:='select '|| colname ||' from apps.&&1 where rownum< 2';
EXECUTE IMMEDIATE sql_str into col_value;
dbms_output.put_line ( colname ||':'||col_value );
end loop;
end;
/


  1. Jak se spouštějí paralelní plány – část 2

  2. Ekvivalent Oracle GROUP_CONCAT().

  3. Oprava „SQL Server zablokoval přístup k STATEMENT ‚OpenRowset/OpenDatasource‘ komponenty ‚Ad Hoc Distributed Queries‘

  4. Parametr časového limitu IDLE v Oracle