Fórum Insert sem duplicar dados #420381
24/07/2012
0
Tenho uma tabela simples onde para gravar os dados uso o INSERT,VALUES mas caso o dado do campo CODIGOS ja exista,não faça nada,apnas grava dados novos.
Uso o Firebird 2.0.3 com Delphi.
Obrigado a quem puder auxiliar.
Vtrx
Curtir tópico
+ 0Posts
24/07/2012
Cleber Campos.
tente assim
insert into tabela1(codigo)
select codigo from tabela2 tb2
where not exists(select first 1 tb1.codigo from tabela1 tb1 where tb1.codigo = tb2.codigo)
caso nao seja, explique melhor o seu caso.
Espero ter ajudado.
Cleber
Gostei + 0
24/07/2012
William
Gostei + 0
24/07/2012
Deivison Melo
Gostei + 0
24/07/2012
Vtrx
Eu estou usando ,para inserir registros,a seguinte sequencia;
INSERT INTO tabela.
( CODIGOS,DESCRIT,POSI,STATUS,PRECO,ESTOQUE,MODELO,COMPO,MOD,DESC,QUANT,TIP)
Values (valores,etc)
Eu tenho uma rotina que carrega num StringGrid os dados retirados de um arquivo .xls
Eu verifico se MODELO ja existe e dou o aviso encerrando a inserção.
Mas tenho uma rotina de inserção manual e se eu gravar um registro com um certo modelo,quando vou carregar o arquivo .xls,a rotina não deixa,mesmo que o arquivo contenha mais registros do mesmo modelo.
Então programei a opção de informar se Deseja acrescentar mais registros novos.
É nesta parte que preciso apenas gravar os registros que não tenham o campo CODIGOS repetido.
Gostei + 0
25/07/2012
Vtrx
Cada vez que vou cadastrar um arquivo .xls que contén os ítens comforme a minha tabela,eu seleciono todos os códigos relacionado ao modelo para saber se o modelo ja foi cadastrado.
Usei 3 memos(invisível),um memo carrega todos os códigos do modelo(fiz uma rotina caso ja exista o modelo cadastrado),o outro memo carrega toda a coluna do StringGrid que contem os códigos a cadastrar e o terceiro memo é carregado com a diferença de códigos.
Então com um outro Stringgrid,que é uma cópia invisível do String principal,eu carregeui as linha com os códigos novos(baseado na listagem do Memo3),aí gravao e mostro num MessageBox quantos ítens novos foram gravados.
Será que não conseguiria isso usando comandos SQL no FB 2.0?
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)