[firebase-br] OFF - Firebird x Oracle
Renato Deggau
rdeggau em gmail.com
Seg Fev 11 09:08:00 -03 2008
Reuber,
eu tive exatamente a sua situação e a solução que adotei foi a seguinte:
- criei uma tabela temporaria no oracle (uma tabela para cada procedure, com
a estrutura de resultado desejada)
- e na criação da procedure fiz assim;
PROCEDURE REL_CONSULTASEFETUADAS(pDatainicial in date, pdatafinal in date,
resultado OUT retorno_procedure)
AS
cursor ordem1 is
select trunc(l.dataconsulta) as dataconsulta, count(l.codqualificador) as
atendidas
from LOGCONSULTAS l
where l.dataconsulta between pdatainicial and pdatafinal
group by l.dataconsulta;
total integer;
naoatendidas integer;
mcomando varchar2(2000);
BEGIN
for rec in ordem1
loop
naoatendidas := 0;
total := rec.atendidas + naoatendidas;
mcomando := 'insert into temp_consultasefetuadas values
('''||to_char(rec.dataconsulta,'dd/mm/yyyy')||''','||
rec.atendidas||','||
naoatendidas||','||
total||')';
execute immediate mcomando;
end loop;
open resultado for select * from temp_controledecimais;
END REL_CONSULTASEFETUADAS;
Renato Deggau
2008/2/11 Reuber <jubrovolski em yahoo.com.br>:
> bom dia pessoal
>
> Utilizo o Firebird em minhas aplicações já há algum tempo, porém preciso
> gerar informações de outro sistema cuja base é oracle. As informações
> que vou precisar, somente serão possíveis através de uma store procedure.
> Ai é que vem o problema. Em firebird em consigo fazer um "FOR SELECT" e
> a cada linha processada eu consigo "manipular" as informações da forma
> que preciso e no final basta dar um "select * from nomeprocedure" e
> "tum". Os dados são gerados.
>
> Alguém sabe como fazer isso em oracle?
>
>
> Reuber
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
Mais detalhes sobre a lista de discussão lista