Problema MasterDetalhe com trigger

Delphi

30/03/2005

Estou com um problema fazendo um formulário master-Detalhe
pois a chave primaria gerada por uma Sequence via trigger

A tabela master é gravada normalmente, mas a tabela de detalhe
recebe o valor nulo da chave de ligação que seria a chave primaria da tabela master, pois não a retorno da sequence para repassar para a tabela de detalhe.

eu sei que se fechar e abrir clientdataset terei o novo valor, más
o não posso faze-lo pois tenho uma tranzação que seria perdida e não posso neste caso gravar o mater sem o detalhe. pensei em fazer uma trigger para a tabela de detalhe, más não consigue.

se eu não utilizar trigger consigo utilizando comando de Insert
e retornando da sequence o CURRVAL.

Más eu preciso usar trigger porque esta tabela é utilizada também por outro sistema que executa esta trigger. se eu fizer via código estarei
gerando duas vez o chave primaria.

Eu gostaria de saber como posso fazer para receber o valor retornado da sequencia utilizando trigger no memento que estou cadastrando o detalhe no formulário.
Ou se alguem puder me ajudar criar uma trigger para o detalhe que
insira a chave primária gerada para a tabela master.

Quem puder me ajudar agradeço.

Vanilson


Vanilsonvjm

Vanilsonvjm

Curtidas 0

Respostas

Motta

Motta

30/03/2005

Uma solução para isto seria uma mexida simples na trigger.

lá deve ter algo assim


:new.chave := sequence.nextval;


faça

if :new.chave is null then
__:new.chave := sequence.nextval;
end if;

assim a sua aplicação passa a chave e a outra não e as duas funcionam


GOSTEI 0
POSTAR