Fórum Organização dos INSERTs #472487
09/03/2014
0
Ordem correta, grava sem erros:
INSERT INTO BANCO (BAN_ID, BAN_NOME, BAN_AGENCIA, BAN_CONTA, BAN_SALDO)
VALUES (2, ''Cofre Local'', '''', '''', ''-'');
INSERT INTO MOV_BANCO (MVB_ID, BAN_ID, MVB_DATA, MVB_DESCRICAO, MVB_VALOR, MVB_SALDO, MVB_TIPO)
VALUES (3, 2, ''07/03/2014'', ''Fech.Caixa'', ''24,00'', ''-'', 0);
Ordem INCORRETA, não grava, dá erros:
INSERT INTO MOV_BANCO (MVB_ID, BAN_ID, MVB_DATA, MVB_DESCRICAO, MVB_VALOR, MVB_SALDO, MVB_TIPO)
VALUES (3, 2, ''07/03/2014'', ''Fech.Caixa'', ''24,00'', ''-'', 0);
INSERT INTO BANCO (BAN_ID, BAN_NOME, BAN_AGENCIA, BAN_CONTA, BAN_SALDO)
VALUES (2, ''Cofre Local'', '''', '''', ''-'');
Eu gostaria de não ter de me preocupar com a ordem, tem alguma forma de fazer isto?
Desde já agradeço.
Vinicius Cruz
Curtir tópico
+ 0Posts
10/03/2014
Marisiana Battistella
Você somente conseguirá inserir antes da tabela MOV_BANCO se o BAND_ID que vc está informando já existir na tabela BANCO, se ele não existir sempre ocorrerá erro.
No meu ponto de vista não tem como vc inserir sem se preocupar com a ordem, pois é regra verificar, antes de inserir, se o ID da chave estrangeira que você está referenciando já cadastrado.
E se vc estiver realizando o cadastro dos dois ao mesmo tempo, sempre terá que inserir antes na tabela BANCO e verificar se o item foi inserir sem erro, para depois inserir o MOV_BANCO.
Gostei + 0
10/03/2014
Vinicius Cruz
O problema é exatamente este, a verificação da chave estrangeira. O que acontece é o seguinte, diante da necessidade de gerar um script sql de toda a base de dados, eu usei o FBexport para fazer isto, porém ele somente gera uma tabela por vez, então criei um sistema que lista todas as tabelas e passa elas para o FBexport uma a uma e salva os retornos em um arquivo, até aí funcionou 100% o problema é a ordem em que são lançados esses retornos no arquivo, terei que encontrar uma forma do sistema organizar cada tabela na sua ordem correta.
Mais uma vez, obrigado pela atenção.
Gostei + 0
21/03/2014
Marisiana Battistella
Estava pensando no que vc falou...
Se você consegue inserir na ordem correta, você só precisaria arrumar uma forma de manter a ordem dos retornos, talvez uma enumeração, ou armazenando num vetor...
Assim quando vc escreve no arquivo, você escreve na ordem definida...
Não sei se essa idéia é útil, se não t ajudar em nada desconsidera!... =D
Gostei + 0
24/03/2014
Vinicius Cruz
Abraço!!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)