[firebase-br] Como concatenar o valor de varios registros em um só?

Claudir Pereira dos Santos claupers_dbrays em yahoo.com.br
Qui Nov 9 14:38:48 -03 2006



Mas precisa realmente guardar tal "resumo" no banco de dados.
Me parece mais interessante apenas exibir essa lista quando necessário.
Pior é que preciso Jerfeson, por questão de agilidade no acesso.
------------------------------------------------------------------------
Jeferson, to tentado usar essa procedure que você me enviou, é a primeira
que vou usar, nunca tinha usado até, só que ta dando
o seguinte erro:

SC ERROR CODE:335544569

ISC ERROR MESSAGE:
Dynamic SQL Error
SQL error code = -104
Unexpected end of command
Sei que tem a ver com final inesperado de comando, até dei uma lida neste
artigo: http://www.comunidade-firebird.org/cflp/downloads/CFLP_T003.PDF
Mas não to descobrindo onde ta o erro:
É assim mesmo que tem que ser?

create procedure SP_LISTA_OBS (CODIGO integer)
returns (LISTA varchar(1024))
as
declare variable AUX varchar(20);
begin
  Lista = '';
  for select L.Lau_ObsTec from Tb_lau L where L.Pac_Cod = :CODIGO
      into :Aux do
    Lista = :Lista || '-' || :Aux;
  suspend;
end



------------------------------------------------------------------------




> Sera que existe algo que consiga realizar essa tarefa no firebird.

Sim.
Crie uma SP que concatene o valor do campo e retorne a lista de
valores encontrado para uma determinada chave.
Se precisar realmente gravar pode receber essa lista numa trigger
BeforePost, por exemplo. Se precisar apenas exibir pode relacionar a
SP com a tabela em um select.
Um exemplo:

create procedure SP_LISTA_OBS
    CODIGO integer)
returns (
    LISTA varchar(1024))
as
declare variable AUX varchar(20);
begin
  Lista = '';
  for select L.Lau_ObsTec
      from Tb_lau L
      where L.Pac_Cod = :CODIGO
      into :Aux do
    Lista = :Lista || ' ' || :Aux;
  suspend;
end


Abraço!
Jeferson Oliveira

______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa







Mais detalhes sobre a lista de discussão lista