sql >> Databasteknik >  >> RDS >> Oracle

Hur man konverterar rader till kolumner i Oracle-tabellen

Nyligen stötte jag på en orakeltabell som har 50 kolumner och jag måste analysera varje kolumn för den specifika raden. Det var svårt att se de 50 kolumnerna i raderna, så jag skapade PLSQL-blocket nedan för att konvertera raderna till kolumner. Detta tar tabellnamnet som indata och skriv ut en rad i kolumnformat

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. Hur man skapar en klon av ditt MySQL- eller PostgreSQL-databaskluster

  2. Tuplar infogas inte sekventiellt i databastabellen?

  3. Vilka är BIN$...-tabellerna i Oracles ALL_TAB_COLUMNS-tabell?

  4. Hur man tar bort dubbletter av rader utan unik identifierare