Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Probleme beim Erstellen von Headern mit spool in sqlplus

Sie könnten immer so etwas versuchen:

set heading off;

select 'NAME1' name1, 'NAME2' name2, 'NAME3' name3 from dual
union all
select a.col1 as name1, a.col2 as name2, b.col3 as name3
from tab1 a, tab2 b
where <join condition>;

ETA:Wenn die von der Hauptabfrage zurückgegebenen Spaltentypen nicht alle Zeichenfolgen sind, müssen Sie sie explizit konvertieren. Hier ist ein Beispiel:

create table test1 (col1 number,
                    col2 date,
                    col3 varchar2(10),
                    col4 clob);

insert into test1 values (1, sysdate, 'hello', 'hello');

commit;

select 'col1' col1, 'col2' col2, 'col3' col3, 'col4' col4 from dual
union all
select col1, col2, col3, col4
from   test1;
       *
Error at line 1
ORA-01790: expression must have same datatype as corresponding expression

set heading off;

select 'col1' col1, 'col2' col2, 'col3' col3, to_clob('col4') col4 from dual
union all
select to_char(col1), to_char(col2, 'dd/mm/yyyy hh24:mi:ss'), col3, col4
from   test1;

col1                                     col2                col3       col4    
1                                        05/08/2015 11:23:15 hello      hello