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

Jak konwertować wiersze na kolumny w tabeli Oracle

Ostatnio natknąłem się na tabelę Oracle, która ma 50 kolumn i muszę przeanalizować każdą kolumnę dla konkretnego wiersza. Trudno było przeglądać te 50 kolumn w wierszach, więc stworzyłem poniżej blok PLSQL, aby przekonwertować wiersze na kolumnę. Pobiera to nazwę tabeli jako dane wejściowe i wyświetla jeden wiersz w formacie kolumny

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dlaczego zmienna oracle plsql varchar2 wymaga rozmiaru, a parametr nie?

  2. Oracle:zapytanie SQL, które zwraca wiersze zawierające tylko wartości liczbowe

  3. Jak wybrać tylko 1 wiersz z Oracle sql?

  4. Zapytanie o wyszukanie wszystkich pakietów w tabeli i/lub kolumnie

  5. ORA-01017 Wskazówki dotyczące rozwiązywania błędów Oracle