[firebase-br] Modelar procedimento para inserir dados em tabelas

Marcelo Geyer estanisgeyer em gmail.com
Ter Jan 27 08:42:53 -03 2009


Olá João,

2009/1/26 Joao Batista Santos <mrjbs em ig.com.br>

> Opa Marcelo, boa noite
> Tenho as mesmas dúvidas q a sua: mais ainda:
>
> 1) Qual a versão do FB ?


Eu utilizo a versão 2.1.


>
> 2) Vc. desenvolve em que plataforma ?


Desenvolvo em ambiente Linux, linguagem C++/QT4, porém porto também para a
plataforma MS Windows, já que é multiplataforma.


>
> Acho q temos o mesmo trabalho:
>
> To fazendo algo bem parecido com duas tabelas:
> Master e Details
>
> Tenho duas funções: InsertMaster e InsertItens na mesma
> Classe e duas variáveis públlicas (m_ID e m_Doc ) que armazenam: ID e
> NroDocumento
> Antes de disparar a primeira pego os proximos nros
>
> strSQL = "SELECT gen_id(GEN_TBNF_ID,1) as m_ID from RDB$DATABASE"
> strSQL = "SELECT gen_id(GEN_TBNF_DOC,1) as m_Doc from RDB$DATABASE"
> Gravo a Master e ao gravar os itens utilizo o m_ID gravado também na master
>
> Já postei essa dúvida tb, mas acho q para o FB 1.5 é assim mesmo


Estamos fazendo algo parecido. Como eu não posso alocar "de cara" o número
da NF, eu pego um ID que é alimentado nas tabelas, para depois que o
registro é confirmado no banco de dados, seja realizado um update no número
da NF.


>
>
> "Se vc descobrir alguma coisa melhor estarei "na escuta" "
>
> Att.
> João Batista
> Desenvolvimento em VB6 e .NET com Firebird 1.5
>
>
>
> 2009/1/26 Marcelo Geyer <estanisgeyer em gmail.com>
>
> > Boa tarde, amigos...
> >
> > Preciso trocar uma idéia de como melhorar o procedimento de inserção de
> > registros no banco de dados.
> > Tomando como exemplo, tenho 3 tabelas: NF, PRODUTOS, ENTREGA.
> > Todas as tabelas tem dois campos em comum: ID e NRO_NF.
> > Ao executar uma transação, é inserido um registro nestas três tabelas. Um
> > SELECT pega um número do "generator" para alimentar o ID nestas três
> > tabelas, e ao final, se tudo der certo, é disparado uma procedure para
> > pegar
> > o próximo número da NF disponível e atualizado o campo NRO_NF nas três
> > tabelas, com base no ID, caso contrário é feito um rollback.
> > O que vocês me recomendam para sair desta rotina e descomplicar as
> coisas?
> >
> > Abraços,
> >
> > Marcelo E. Geyer
> > ______________________________________________
> > 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
> >
> ______________________________________________
> 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