Gần đây, tôi gặp một bảng oracle có 50 cột và tôi cần phân tích từng cột cho hàng cụ thể. Thật khó khăn khi xem 50 cột đó trong các hàng, Vì vậy, tôi đã tạo khối PLSQL bên dưới để chuyển các hàng thành cột. Điều này lấy tên bảng làm đầu vào và in một hàng ở định dạng cột
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; /