Inserção em várias tabelas



  • Buenas mossada, estou desenvolvendo um sistema de Garagens (estacionamentos). entrada e saída de veículos nos Estacionamentos.
    Quando um veículo entra no estacionamento tem que automaticamente gravar o valor que foi cobrado no financeiro, porém meu financeiro eh composto por TITULO FINANCEIRO e ITENS DO TITULO (Grade). Os itens são o mesmo que parcelas, no entanto como é cobrado somente a entrada no estacionamento é lançado como parcela unica.
    O problema é: Tenho que dar entrada do veículo gravando o valor do estacionamento no titulo e em seguida gravando na tabela itens como parcela unica. (obs: estou utilizando o mesmo financeiro do sistema de exemplos)
    Tentei fazer isso com 2 fluxos "executar atualização" INSERÇÃO (um no TITULOS e outro no ITENS) no Titulo ele está gravando certinho mas no ITENS não pega o ID do TITULOS pra gravar.

    Como proceder?
    Desde já agradeço a atenção!


  • Se vc estiver utilizando SQL Server ou MYSQL, o ID pode ser obtido através do retorno da própria função "Executar atualização"

    Retorno:
    ID da tabela (Para o banco MSSQL e MySQL)

    Caso seja outro banco, vc pode tentar obter o valor da "sequence" com a função: Próximo valor da sequencia.


  • Alex.. mas no caso ai eu pegaria o proximo ID certo ? e eu precisaria pegar o mesmo ID do titulo. (não sei se essa função pegaria o mesmo ID do titulo)
    obs: Estou utilizando o postgres de banco!

    Agradeço a atenção!


  • Gere a sequence do ID do titulo e insira no banco o ID gerado. (sem utilizar o autoinc)


  • ONde coloco essa função ? dentro do "Executar atualização" ?


  • Pode ser atribuída a uma variável ou diretamente na função executar atualização


  • Franco bom dia.

    Vamos simular seu Cenário.

    1. Faça a inserção do Lançamento Financeiro de forma isolada

    2. Após a inserção do lançamento (registro pai) no fluxo crie uma consulta obtendo o max(serial) da sua tabela de lançamentos, dessa forma você irá obter como retorno o ID do ultimo lançamento que foi criado, guarde ele em uma variavel

    3. Agora faça a inserção das Parcelas (no seu caso única parcela)

    Ps: Caso tenha mais de um Local de entrada no Estacionamento, ou seja, mais de um usuário irá inserir dados no Sistema, sugiro que você carimbe o id do usuário no Pai e na consulta obtenha o max(serial) do funcionario logado.

    Espero que te ajude.

    Abs

Log in to reply