Fórum tratamento de constraint em importação de dados #349223
19/11/2007
0
tenho uma tabela onde a chave primaria é composta por mais de 1 campo.
se a inclusão nessa tabela fosse feita manualmente beleza, porque ou verificava se já existe o registro no banco antes de incluir ou deixava a própria constraint bloquear ai tratava a mensagem de erro.
Só que o problema é que a inclusão não é feita manualmente e sim através de uma importação de um arquivo texto onde sempre terá em média de 30.000 a 50.000 registros à serem importados.
Então imaginem a cada registro fazer um select pra verificar se ele já existe seria inviável.
seria possivel bloquear a dudlicidade através da constraint e continuar a importação dos demais registros ????
suponha que o arquivo texto tenha 30.000 registro, quando cheqar no registro 20.556 a constraint bloquear, como continuar importando os proximos regostros ??
espero receber sugestões.
Fabiano Góes
Curtir tópico
+ 0Posts
19/11/2007
Comodelphi
Gostei + 0
19/11/2007
Fabiano Góes
comodelphi,
obrigado pela atenção mais o except não resolveu.
eu uso Delphi7->firebird1.5
executo os insert através do método: ExecuteDirect(); do componente SQLConnection
Gostei + 0
19/11/2007
Comodelphi
Gostei + 0
19/11/2007
Joaoshi
IF(EXISTS(SELECT CHAVE1,CHAVE2 FROM TABELA WHERE ....)) THEN EXCEPTION
Acredito que o Try Except que o colega falou no outro post passe a funcionar.
Espero ter ajudado.
Gostei + 0
20/11/2007
Fabiano Góes
gera o except e para o processo
vou criar a trigger pra fazer um teste
Gostei + 0
20/11/2007
Comodelphi
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)