REMPLACEMENTS | NOOVERRIDEDUPS
Durée de validité
Réplication
Description
Les paramètres OVERRIDEDUPS et NOOVERRIDEDUPS permettent d'indiquer si le réplication écrase un enregistrements existant dans la base de données cible avec un autre enregistrement répliqué si ces deux enregistrements ont la même clé.
-
OVERRIDEDUPSremplace l'enregistrement existant. Il peut être utilisé pour les chargements initiaux où vous ne voulez pas tronquer les tables cible avant le chargement, ou pour la resynchronisation d'une table cible avec une source sécurisée. Utilisez le paramètreSQLDUPERRavecOVERRIDEUPSpour indiquer le code d'erreur numérique renvoyé par la base de données pour les opérationsINSERTen double. Pour plus d'informations, reportez-vous à "SQLDUPERR". -
NOOVERRIDEDUPS, la valeur par défaut, génère une erreur d'enregistrement en double au lieu de remplacer l'enregistrement existant. Vous pouvez utiliser une instructionMAPd'exception avec une clauseSQLEXECpour lancer une réponse à l'erreur. Sinon, la transaction peut être abandonnée.Pour ignorer les enregistrements en double sans entraîner l'abandon du processus Replicat lorsqu'aucune correspondance d'exceptions n'est disponible, indiquez une instruction de paramètre
REPERRORsimilaire à la suivante, où<error>est le numéro d'erreur de base de données pour les erreurs de contrainte de clé primaire.
REPERROR (<error>, IGNORE)
Par exemple, l'instruction d'une base de données Oracle AI Database serait :
REPERROR (1, IGNORE)
Le processus Replicat écrit les enregistrements en double ignorés dans le fichier de rebut.
Placez OVERRIDEDUPS ou NOOVERRIDEDUPS avant les instructions TABLE ou MAP que vous voulez que cela affecte. Vous pouvez créer différentes règles pour différents groupes d'instructions TABLE ou MAP. Les paramètres agissent comme des basculements : l'un reste en vigueur pour les instructions TABLE ou MAP suivantes jusqu'à ce que l'autre soit rencontré.
OVERRIDEDUPS est activé automatiquement lorsque HANDLECOLLISIONS est utilisé. Pour plus d'informations, reportez-vous à "HANDLECOLLISIONS | NOHANDLECOLLISIONS".
WARNING : lorsque OVERRIDEDUPS est activé, les enregistrements peuvent ne pas être traités dans l'ordre chronologique entre plusieurs processus Replicat.
Valeur par défaut
NOOVERRIDEDUPS
Syntaxe
OVERRIDEDUPS | NOOVERRIDEDUPS