sql >> Base de Datos >  >> RDS >> Oracle

Cómo convertir filas en columnas en la tabla de Oracle

Recientemente encontré una tabla de Oracle que tiene 50 columnas y necesito analizar cada columna para la fila en particular. Fue difícil ver esas 50 columnas en las filas, así que creé debajo del bloque PLSQL para convertir las filas en columnas. Esto toma el nombre de la tabla como entrada e imprime una fila en formato de columna

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