procedure - concatenar informação

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
danielpb.vix
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 9
Registrado em: Qui, 15 Out 2009 1:41 am
Localização: São Paulo - SP

bom dia pessoal,

estou com uma dúvida para concatenar uma informação.
seguinte, seria como o exemplo abaixo:

tenho uma nota fical com 2 itens. Cada item possui um valor unitario.
preciso gerar um insert com os valores concatenados. EX:

Item 1 = R$1,00
Item 2 = R$2,00

1,002,00 ==> preciso disso.

na procedure que fiz para tratar a informação, me traz duas linhas.

create or replace procedure mgadm.est_p_teste(Dini Date, Dfin Date) is
linha varchar2(2000);


cursor citem is

select i.rci_re_valormoeda as item
into linha
from mgadm.est_recebimento t,
mgadm.est_itensreceb i
where t.org_in_codigo = i.org_in_codigo and
t.rcb_st_nota = i.rcb_st_nota and
t.org_in_codigo=227 and t.rcb_st_nota=7002;

begin
delete mgadm.est_teste;
commit;


for x in citem loop
insert into mgadm.est_teste(linha) values(x.item);
end loop;

end;

os parametros depoois irei utilizar (Data Inicial e Final).
Deixei uma variavel linha, na qual tentei gerar concatenar as informações dentro dela.

agradeço.
Daniel.


Informações do Ambiente:
* Versão do Oracle:
* Sistema Operacional:
danielpb.vix
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 9
Registrado em: Qui, 15 Out 2009 1:41 am
Localização: São Paulo - SP

Pessoal,

consegui resolver.
muito obrigado.


abs.
danielpb.vix
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 9
Registrado em: Qui, 15 Out 2009 1:41 am
Localização: São Paulo - SP

para completar, fiz assim:

*caso tenham alguma melhor resolução, pode postar.

obrigado.

Selecionar tudo

create or replace procedure mgadm.est_p_teste(Dini Date, Dfin Date) is

linha varchar2(2000);
header varchar2(2000);

   
         cursor cheader is
         
         select rec.rcb_st_nota 
         from mgadm.est_recebimento rec 
         where rec.org_in_codigo=227 and 
               rec.rcb_st_nota=7002;        
         
         
         cursor citem is

         select i.rci_re_valormoeda as item
         --into linha
         from   mgadm.est_recebimento t,
                mgadm.est_itensreceb i
         where  t.org_in_codigo = i.org_in_codigo and
                t.rcb_st_nota   = i.rcb_st_nota and
                t.org_in_codigo=227 and t.rcb_st_nota=7002;
                
                         
                                
begin
     delete mgadm.est_teste;
     commit;
                
                for y in cheader loop
                header:=header || y.rcb_st_nota;
                end loop;
                
                for x in citem loop
                linha:=linha || x.item;
                end loop;            
                
                insert into mgadm.est_teste(header,linha) values(header,linha);

end;
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante