Página 1 de 1
A importância de nomes únicos
Enviado: 18 Out 2023 11:19
por JoséQuintas
/* Erro SQL (1062): Duplicate entry '05.999.041/0001-12-. . -' for key 'INDICE' */
/* Arquivo "backup1.sql" executado, com consultas 2.246 e linhas afetadas 233.282 */
E agora, deu erro aonde?
É na restauração do backup.
é em uma das 233.282 linhas.....
A importância de nomes únicos
Enviado: 18 Out 2023 12:10
por JoséQuintas
Não faz sentido estar gravado repetido.
Na dúvida incluir uma possível correção na próxima atualização.
Pensando bem, pode ter sido o backup com tudo em uso, foi incluída uma chave nova que mudou a ordem pra continuação do backup.
Código: Selecionar todos
STATIC FUNCTION Update1018()
LOCAL cnSQL := ADOLocal(), aList := {}, aItem, lDelete
WITH OBJECT cnSQL
:Execute( "SELECT ENEMINFE, ENDESNFE, COUNT(*) AS QTD" + ;
" FROM JPEMANFE" + ;
" GROUP BY ENEMINFE, ENDESNFE" + ;
" HAVING COUNT(*) > 1" )
DO WHILE ! :Eof()
AAdd( aList, { :String( "ENEMINFE" ), :String( "ENDESNFE" ) } )
:MoveNext()
ENDDO
:CloseRecordset()
FOR EACH aItem IN aList
:Execute( "SELECT * FROM JPEMANFE WHERE ENEMINFE=" + StringSQL( aItem[1] ) + ;
" AND ENDESNFE=" + StringSQL( aItem[2] ) )
lDelete := .F.
DO WHILE ! :Eof()
IF lDelete
:ExecuteNoReturn( "DELETE FROM JPEMANFE WHERE IDEMANFE=" + NumberSQL( :Number( "IDEMANFE" ) ) )
ELSE
lDelete := .T.
ENDIF
:MoveNext()
ENDDO
:CloseRecordset()
NEXT
ENDWITH
RETURN Nil