[firebase-br] tabela temporaria

Fernando Reis Guimarães fernandobhz em gmail.com
Ter Jan 16 11:17:51 -03 2007


esté comando poderá lhe ajudar nesta empreitada.... execute statement

2007/1/15, Thiago Glaser <thiago.glaser em gmail.com>:
>
> Cria a tabela com nome aleatório, ou sequencial (usa um generator, por
> exemplo).
>
> Ao invés de retornar Ok na procedure, vc retorna o nome da tabela.
>
> On 1/15/07, Denilson Hauch <denilsonhauch em gmail.com> wrote:
> > tenho uma sp que junta dados de duas tabelas e grava em uma terceira
> tabela
> >
> > toda vez q a sp é executada limpo a tabela e gravo os dados das duas
> tabelas
> >
> > qdo só um terminal executa funciona blza mas qdo + de um terminal tenta
> > executar da erro
> >
> >
> > como faço para criar uma tabela temporaria? ou tem alguma outra forma de
> se
> > fazer isto sem tabela
> >
> >
> >
> > CREATE PROCEDURE "IMPORTA"
> > (
> >  "NOME_TEMP" VARCHAR(50)
> > )
> > RETURNS
> > (
> >  "OK" CHAR(1)
> > )
> > AS
> > DECLARE VARIABLE CODIGO INTEGER;
> > DECLARE VARIABLE I INTEGER;
> > DECLARE VARIABLE DATA DATE;
> > DECLARE VARIABLE MEDICO VARCHAR(50);
> > DECLARE VARIABLE IDADE CHAR(3);
> > DECLARE VARIABLE SEXO CHAR(1);
> > DECLARE VARIABLE LAUDO BLOB;
> > DECLARE VARIABLE EXAME VARCHAR(50);
> > DECLARE VARIABLE NOME_NOVO VARCHAR(50);
> > BEGIN
> > I=0;
> > DELETE FROM NOVO;
> > FOR select COD_ANTIGO, DATA, MEDICO, IDADE, SEXO, LAUDO, EXAME, NOME
> FROM
> > ANTIGO
> > WHERE NOME CONTAINING :NOME_TEMP
> > into :CODIGO, :DATA, :MEDICO, :IDADE, :SEXO, :LAUDO, :EXAME, :NOME_NOVO
> > DO
> > BEGIN
> > I= I + 1;
> > INSERT INTO NOVO(COD_NOVO, DATA, MEDICO, IDADE, SEXO, LAUDO, EXAME,
> NOME,
> > CONTROLE, CONT)
> > values(:CODIGO, :DATA, :MEDICO, :IDADE, :SEXO, :LAUDO, :EXAME,
> :NOME_NOVO,
> > 'A', :I);
> > END
> > FOR select ITENS_RECE.N_RECEP2,  ITENS_RECE.RESULTADO,
> ITENS_RECE.TITULO,
> > RECEPCAO.DT_EXAME, PACIENTES.SEXO, PACIENTES.IDADE, PACIENTES.NOME_PAC,
> > MEDICOS.NOME_MEDICO
> > FROM ITENS_RECE,  RECEPCAO, PACIENTES, MEDICOS
> > WHERE NOME_PAC CONTAINING :NOME_TEMP AND ITENS_RECE.N_RECEP2 =
> > RECEPCAO.N_RECEP2
> >      AND  RECEPCAO.COD_PAC = PACIENTES.COD_PAC AND RECEPCAO.CODIGO =
> > MEDICOS.CODIGO
> > into :CODIGO, :LAUDO, :EXAME, :DATA, :SEXO, :IDADE, :NOME_NOVO, :MEDICO
> > DO
> > BEGIN
> > I= I + 1;
> > INSERT INTO NOVO(COD_NOVO, DATA, MEDICO, IDADE, SEXO, LAUDO, EXAME,
> > NOME,CONTROLE, CONT)
> > values(:CODIGO, :DATA, :MEDICO, :IDADE, :SEXO, :LAUDO, :EXAME,
> > :NOME_NOVO,'N',:I);
> > END
> > SUSPEND;
> > END
> >
> >
> >
> >
> >
> >
> > ______________________________________________
> > 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
> >
> >
>
>
> --
> Thiago Glaser
>
> ______________________________________________
> 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
>



-- 
Atenciosamente,
Fernando Reis Guimarães.

Contatos
fernando em fernandobhz.com
http://www.fernandobhz.com
Celular 9213-3727.



Mais detalhes sobre a lista de discussão lista