Fiz uma procedure que envia o resultado de um select para um e-mail, porém gostaria que viesse tudo alinhado, da seguinte forma:
NUMERO USUARIO LOTACAO DOC DATA DIAS
-------------------------------------------------------------------------------------
xyxyxyx xyxyxyxyxyxyx xyyxyx xyxyxyx xy/xy/xyxy xyx
create or replace
PROCEDURE proc1 IS
CURSOR EXC IS
select t1.id,t5.usuario,s3.secao,s1.numero,
s1.data,trunc((sysdate - s1.data) * 1440)
from tabela1 t1,tabela2 t2,tabela3 t3,tabela4 t4,tabela5 t5
where ...
TYPE REG IS RECORD (SES ,
USU,
LOT,
NR,
DATAb,
TEMPO);
rec reg;
v_msg varchar2(5000);
BEGIN
open exc;
v_msg := '<html><b>Lista</b><p>'||
'ID '||' '||'Usu';
for i in 1 .. 34 loop
v_msg:= v_msg||' ';
end loop;
v_msg := v_msg||'Lot Numero Data Tempo<br>';
for i in 1 .. 86 loop
v_msg := v_msg||'-';
end loop;
v_msg := v_msg||'<br>';
loop
fetch exc rec;
exit when exc%notfound;
v_msg := v_msg||rec.sessao||' '||rec.usuario;
for i in 1 .. (54 - length(rec.usuario)) loop
v_msg := v_msg||' ';
end loop;
v_msg := v_msg||rec.lotacao;
for i in 1 .. 10 - (length(rec.lotacao)) loop
v_msg := v_msg||' ';
end loop;
v_msg := v_msg||rec.nr||' '||
to_char(rec.datab,'DD/MM/YYYY - HH24:MI:SS')||' '||rec.tempo||'<br>';
end loop;
close excedidos;
v_msg := v_msg||'</p></html>';
envia_email('xxxx@xx.xx','Lista',v_msg);
END proc1;
Rec.ses - 6
rec.usu - 30
rec.lot - 10
rec.nr - 13
rec.datab - 10
rec.dias - 5