Vous consultez une page technique concernant le logiciel de gestion Mercator. Celle-ci contient des informations spécifiques destinées aux professionnels de Mercator. Souhaitez-vous être redirigés vers des informations plus générales ?


   Ne plus poser cette question

Lors de la vérification de structure, erreur d'unicité sur les tables de catégories

0000002700     -      27/03/2017

Les versions de Mercator ultérieures au 26/03/2017 ajoutent, lors de la vérification de structure des outils avancés, des contraintes d'unicité sur les tables de catégories liées aux signalétiques :

  • CAT_ANA
  • CAT_CLI
  • CAT_DEST
  • CAT_FOU
  • CAT_GEN
  • CAT_IMM
  • CAT_PROJ
  • CAT_STCK (sans O)
  • CAT_TACT
  • CAT_XLEAD
  • CAT_YPREST

L'index unique ajouté se crée automatiquement sous la forme 

create unique index CAT_CLI_UNIQUE_NAME_PER_TYPE on dbo.CAT_CLI (TYPE, NOM)

Il se peut que les données actuellement dans la base de données ne respectent pas cette nouvelle contrainte. Pour corriger cela, il faut exécuter ce script SQL, donné ici pour la table CAT_CLI et à adapter donc en fonction de la table qui présente un problème d'unicité.

select nom,type,min(id) as id into #CAT_CLI_tmp from CAT_CLI group by type,nom
alter table CAT_CLI disable trigger all
delete from CAT_CLI
insert into CAT_CLI (nom,type,id) select * from #CAT_CLI_tmp
alter table CAT_CLI enable trigger all
drop table #CAT_CLI_tmp

 Notez que la désactivation du trigger est nécessaire, parce que le trigger défini pour la suppression d'enregistrements modifie les fiches du signalétique correspondant, en mettant à blanc les zones liées aux catégories supprimées.