Fórum Como criar Detalhe de um Detalhe de um Mestre/Detalhe #60431
27/01/2009
0
Tenho o seguinte problema:
Tenho q cria um mestre detalhe de uma tabela
Clientes + FAvoritos + Itens_Favoritos, até ai tudo bem.
Mas como criar um detalhe de uma tabela q já é um detalhe de outra tabela ?
Veja o esquema abaixo.
Chaves Primárias/e Fk dos arquivos
----------------------------------
CLIENTES->Codcli
FAVORITOS
......PK_FAVORITOS->Codcli,Codfav
......FK_FAVORITOS-> codcli <-> Clientes->codcli
FAVORITOS_ITENS
......PK_FAVORITOS_ITENS->codcli + Codfav + Numseq
......FK_FAVORITOS_ITENS->codcli,codfav <-> FAVORITOS->Codcli,codfav
-----------------------------------------------------------------------
SELECT *
FROM CLIENTES C
WHERE (CODCLI >= :PCODCLI)
ORDER BY NOME
SELECT *
FROM FAVORITOS
WHERE CODCLI =:CODCLI
ORDER BY CODCLI, CODFAV
......Ds_Uniao1->Sql_Clientes
....preciso fazer um detalhe da tabela FAVORITOS
q já é um detalhe de Clientes.
SELECT *
FROM FAVORITOS_ITENS
WHERE CODCLI =:CODCLI
ORDER BY CODCLI, CODFAV, NUMSEQ
......Ds_Uniao2->Sql_Clientes
-----------------------------------
Acontece o seguinte:
Quando cadastro um cliente, insiro vários favoritos e gravo, tudo ocorre ok.
Mas se insiro um unico item, na hora de gravar, ocorre o erro de FK_FAVORITOS_ITENS
´key violation´, chequei os dados e não tem nada duplicado.
1-Fiz um novo teste, excluindo a FK, ai os dados sao gravados normalmente e todos estao corretos sem duplicacao.
2-Deletei a FK e gravei um novo registro, depois criei novamente a FK, ai tudo ocorre normalmente sem erro.
Desejaria saber onde estou errando e como poderia solucionar isso ?
Desde já meus agradecimentos a quem puder ajudar.
ANT.CARLOS/SP
Tenho q cria um mestre detalhe de uma tabela
Clientes + FAvoritos + Itens_Favoritos, até ai tudo bem.
Mas como criar um detalhe de uma tabela q já é um detalhe de outra tabela ?
Veja o esquema abaixo.
Chaves Primárias/e Fk dos arquivos
----------------------------------
CLIENTES->Codcli
FAVORITOS
......PK_FAVORITOS->Codcli,Codfav
......FK_FAVORITOS-> codcli <-> Clientes->codcli
FAVORITOS_ITENS
......PK_FAVORITOS_ITENS->codcli + Codfav + Numseq
......FK_FAVORITOS_ITENS->codcli,codfav <-> FAVORITOS->Codcli,codfav
-----------------------------------------------------------------------
SELECT *
FROM CLIENTES C
WHERE (CODCLI >= :PCODCLI)
ORDER BY NOME
SELECT *
FROM FAVORITOS
WHERE CODCLI =:CODCLI
ORDER BY CODCLI, CODFAV
......Ds_Uniao1->Sql_Clientes
....preciso fazer um detalhe da tabela FAVORITOS
q já é um detalhe de Clientes.
SELECT *
FROM FAVORITOS_ITENS
WHERE CODCLI =:CODCLI
ORDER BY CODCLI, CODFAV, NUMSEQ
......Ds_Uniao2->Sql_Clientes
-----------------------------------
Acontece o seguinte:
Quando cadastro um cliente, insiro vários favoritos e gravo, tudo ocorre ok.
Mas se insiro um unico item, na hora de gravar, ocorre o erro de FK_FAVORITOS_ITENS
´key violation´, chequei os dados e não tem nada duplicado.
1-Fiz um novo teste, excluindo a FK, ai os dados sao gravados normalmente e todos estao corretos sem duplicacao.
2-Deletei a FK e gravei um novo registro, depois criei novamente a FK, ai tudo ocorre normalmente sem erro.
Desejaria saber onde estou errando e como poderia solucionar isso ?
Desde já meus agradecimentos a quem puder ajudar.
ANT.CARLOS/SP
Ant.carlos/sp
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)