Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Cách chuyển đổi hàng thành cột trong bảng Oracle

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng các giao dịch lồng nhau trong oracle

  2. Nhận ID của bản ghi được chèn lần cuối trong oracle db

  3. Cách tạo câu lệnh CHÈN từ một truy vấn khi sử dụng SQLcl (Oracle)

  4. Các giá trị không hiển thị với số 0 ở đầu trong oracle

  5. Tham số thời gian chờ IDLE trong Oracle