Emerson, espero que o pessoal me corrija se eu estiver errado... ACHO, pelo
que eu entendo, que essa nova chave inserida só pode ser "lida" dentro da
própria sessão, na mesma transação!

Você está fazendo tudo isso na mesma transação? É PL/SQL?




Em 26 de fevereiro de 2014 16:55, Emerson Sanches <emerson.sanc...@gmail.com
> escreveu:

>
>
> Boa tarde pessoal do grupo. Em minha aplicação, quando faço o
> cadastramento de um equipamento (tabela equipamentos), preciso que nesse
> momento seja aberta simultaneamente uma ordem de serviço para instalação
> (tabela OS) e um try-out de verificação (tabela tryout), ate ai fácil. O
> problema é que a tabela OS tem um campo chamado equipamento que é FK da
> tabela EQUIPAMENTOS e na aplicação eu faço a inclusão do equipamento, não
> comito, pego o numero do equipamento que acabei de incluir e tento
> colocar no campo equipamento da tabela OS, mas na hora de gravar gera um
> erro de chave estrangeira. Acredito que isso esteja acontecendo porque o
> registro inserido na tabela equipamento não esta comitado. A pergunta é a
> seguinte: Realmente eu preciso comitar o registro na primeira tabela pra
> só depois incluir um registro na segunda?
> Se esse comportamento for normal alguem tem alguma sugestão de como eu
> controlo de transação nesse caso, já que se algum dos registros gerar erro
> eu quero que não grave nada no banco.
>
> Obrigado pela atenção.
>
>
> Emerson Sanches
> Analista de Sistemas
>
>  
>

Responder a