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

Modifier la structure de la base de données de Mercator sans utiliser les outils clients

0000002420     -      19/06/2017

Il est parfois nécessaire de modifier la structure de la base de données de Mercator sans avoir recours aux outils clients de SQL (SQL Server Management Studio), soit parce ces outils ne sont pas disponibles, soit parce qu'on veut contourner la fâcheuse tendance qu'ont ces outils clients à supprimer et recréer complètement une table lorsqu'on veut la modifier. 

Ci-dessous, un rappel de la syntaxe SQL, utilisable dans l'éditeur de commandes de Mercator, et qui permet d'effectuer les opérations les plus courantes. Nous rappelons ici que pratiquement toutes les colonnes de la base de données de Mercator ne peuvent accepter les valeurs nulles et doivent dès lors être dotées d'une valeur par défaut.

Dans ces exemples, il faut remplacer :

  • TABLE : par le nom de la table concernée
  • COLUMN : par le nom de la colonne concernée

Ajouter une colonne :

alter table TABLE add COLUMN char(15) not null constraint DF_TABLE_COLUMN default ''

Supprimer une colonne :

exec SP_DROP_COLUMN 'TABLE','COLUMN'

Modifier une colonne :

exec SP_ALTER_COLUMN 'TABLE','COLUMN','char(15) not null'

Concernant ces 2 derniers points : un simple "alter table" ne peut fonctionner pour modifier ou supprimer une colonne. En effet, la contrainte de valeur par défaut va empêcher cette modification. Il en est de même si cette colonne est engagée dans un ou plusieurs index. Les procédures stockées de Mercator, SP_ALTER_COLUMN et SP_DROP_COLUMN, permettent de gérer ces situations.

Remarque importante : ceci ne peut être appliqué qu'à Mercator MAJURO. En legacy et en Aruba, il est impératif d'effectuer les modifications de structure via le TOOLS de Mercator.

Informations importantes sur cette page.


Depuis la version 10.1 de Mercator, ces fonctionnalités sont implémentées dans l'éditeur de commandes SQL de Mercator. Ceci au départ du visualisateur de base de données.

L'ajout d'une colonne dans une table est possible directement depuis ce nœud (présent pour chaque table)

Lors de la sélection de ce nœud, Mercator demande de saisir l'information manquante : le nom de la colonne et le type SQL. Ensuite, ce nœud peut être tiré par drag & drop vers l'éditeur de code.

La modification d'une colonne peut s'effectuer via ce nœud, disponible sur toutes les colonnes non engagées dans une clé primaire ou une clé étrangère.

Lors de la sélection de ce nœud, Mercator demande de saisir l'information manquante : le nouveau type SQL de la colonne. Ensuite, ce nœud peut être tiré par drag & drop vers l'éditeur de code.

La suppression d'une colonne peut s'effectuer via se nœud, qu'il suffit de tirer par dra & drop dans l'éditeur de code :