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; /