Onlangs kwam ik een orakeltabel tegen met 50 kolommen en ik moet elke kolom voor de specifieke rij analyseren. Het was moeilijk om die 50 kolommen in de rijen te bekijken, dus ik heb het onderstaande PLSQL-blok gemaakt om de rijen in kolommen om te zetten. Dit neemt de tabelnaam als invoer en drukt één rij af in kolomformaat
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; /