cursor c_orgao3 is
select count(ipr_importado) LOG_IMP
from t015imagemprocesso
union
select count(ipr_importado)
from t015imagemprocesso
where ipr_importado = 'S'
union
select count(ipr_importado)
from t015imagemprocesso
where ipr_importado = 'N'
union
select count(ipr_importado)
from t015imagemprocesso
where ipr_importado = 'S'and pro_ano = 2010
union
select count(ipr_importado)
from t015imagemprocesso
where pro_ano = 2010
union
select count(ipr_importado)
from t015imagemprocesso
where ipr_importado = 'N'
and pro_ano = 2010
NOME_ARQ := TO_CHAR(SYSDATE,'DDMMYYYY-HH24MI');
-- Abrindo o arquivo texto no qual serão gerados os registros
NomeArquivo := vdiretorio||'\'||'importação processos'||NOME_ARQ;
varquivotxt:=text_io.fopen(NomeArquivo, 'W');
Linha := 'IMPORTAÇÃO DE PROCESSOS - DATA:';
text_io.put_line(varquivotxt, Linha);
first_record;
open c_orgao3
fetch c_orgao3 into (como eu coloco aqui? tenho varios "select count(coluna)" usando union como mostra a consulta acima)
close c_orgao3
Linha := ----------> aqui será exibido a consulta mais não sei como faço;
text_io.put_line(varquivotxt, Linha);
first_record; -- (COMO POSSO USAR O first_record???)
Linha := 'IMPORTAÇÃO DE PROCESSOS';
text_io.put_line(varquivotxt, Linha);
Linha := 'IMPORTAÇÃO DE PROCESSOS2';
text_io.put_line(varquivotxt, Linha);
first_record;
text_io.fopen(varquivotxt, 'w');
for i in c_orgao3 loop
linha := i.LOG_IMP;
text_io.put_line(varquivotxt, Linha);
end loop;
text_io.fclose(varquivotxt);
open c_orgao3 (:controle.cod_empresa);
loop
fetch c_orgao3 into vTOTAL_IMPORTADOS;
if c_orgao3%NOTFOUND then exit;
end if;
linha := vTOTAL_IMPORTADOS;
text_io.put_line(varquivotxt, Linha);
end loop;
close c_orgao3;
tenho outro probleminha.
o meu codigo não aceita concatenar a coluna do select usando union, exemplo:
cursor c_orgao3(vEMP_CODIGOEMPRESA char) is
select count(ipr_importado) as TOTAL_IMPORTADOS
from sistema.t015imagemprocesso
where EMP_CODIGOEMPRESA= vEMP_CODIGOEMPRESA
union
select count(ipr_importado) as IMPORTADOS
from sistema.t015imagemprocesso
where ipr_importado = 'S' and EMP_CODIGOEMPRESA= vEMP_CODIGOEMPRESA
union ...
o Forms 6i usa o compilador de PLSQL com versão 8i, você deve estar rodando direto no banco com o PLSQL Developer, e a versão do banco deve ser superior, tenta colocar alias nas colunas,
ou então 'Quantidade processo importado....'||to_char(count(ipr_importado)
different type of columns in UNION, INTERSECT, MINUS expression
na verdade, o que esta acontecendo é que pra um retorno do union está vindo number, e outro union está retornando char,