Bonjour,
Mes Refrences ont des noms de contrainte par defaut de cette facon:
FK_<nom table>_REFERENCE_<nom table>
Comment puis je changer la generation des nom de contrainte par defaut ?
Merci
Bonjour,
Mes Refrences ont des noms de contrainte par defaut de cette facon:
FK_<nom table>_REFERENCE_<nom table>
Comment puis je changer la generation des nom de contrainte par defaut ?
Merci
Bonsoir AAAWBBBWCCC,
Je comprends votre problème, car j’y ai été confronté, aussi ai-je décidé de creuser. Je vous fait part des résultats de mes recherches...
A titre d’exemple, J’ai une table Boisson et une table Entree entre lesquelles est établie une relation nommée FaireEntrer :
![]()
Génération SQL (Microsoft SQL Server 2000) :
Le nom de contrainte FK_Entree_Faireentr_Boisson ne me convient pas, je souhaite faire disparaître les 3 premiers caractères "FK_"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Create Table Boisson ( IdBoisson Int Not null, NomBoisson Varchar(48) Not null, Constraint PK_Boisson Primary Key (IdBoisson) ); Create Table Entree ( IdBoisson Int Not null, IdEntree Int Not null, Date Datetime Not null, Quantite Int Not null, Constraint PK_Entree Primary Key (IdBoisson, IdEntree), Constraint FK_Entree_Faireentr_Boisson Foreign Key (IdBoisson) References Boisson (IdBoisson) On Delete Cascade );
Je procède ainsi :
1) Barre d’outils \ SGBD \ Éditer le SGBD courant (Microsoft SQL Server 2000).
Dans l’arborescence, clic sur Script \ Objects \ Reference \ ConstName ce qui provoque l’affichage du modèle de nom de contrainte généré pour l'instruction "Create Table Entree" :
2) Je vire les 3 premiers caractères, comme souhaité.
3) quand PowerAMC pose la question :
Prudemment, je réponds Non.
Je pense que si vous répondez Oui, vous avez intérêt à d’abord sauvegarder le fichier de ressources concerné...
Ayant répondu Non, j’ai observé qu’en sauvegardant le MPD puis en l’ouvrant à nouveau, les modifs sont toujours actives. En revanche, quand je ferme PowerAMC, elles sont perdues.
Plus avant. Je raffine mes options...
=>
Déchiffrage de la chaîne de caractères "FK_%.c8:CHILD%_%.c9:REFR%_%.c8:PARENT%"
Par référence aux paramètres dans l’aide :
"FK_" : Constante
"%.c8:CHILD%" : ".c8:" signifie : Initiale en majuscule et les lettres suivantes en minuscules, à concurrence de 8 caractères maxi (cf. référence (2) ci-dessous).
"CHILD" Variable utilisée pour générer le nom de la table enfant (en l’occurrence : Entree). (cf. référence (1)).
Comme l’initiative de l’outil ne me convient pas, parce que je veux voir une génération de code SQL avec très exactement les majuscules et minuscules que j’ai choisies, j’élimine la mise en forme en codant ainsi :
"%CHILD%" au lieu de "%.c8:CHILD%".
"_" : Constante
"%.c9:REFR%" : Code généré pour la référence FaireEntrer : "Entree_Faireentr". (cf. référence (1)). Je remplace par "%REFRNO%", car je peux ainsi numéroter les contraintes plutôt que les nommer, ce qui n’est pas inutile quand il en existe plus d’une entre 2 tables (nomenclatures par exemple) et que l’on n’a pas envie de voir figurer le nom de la contrainte.
"%.c8:PARENT%" : Code généré pour la table parent. (cf. référence (1)). Comme pour CHILD, je vire ".c8:"
Puis je permute "%REFRNO%" et "%PARENT%". Au final, la contrainte
FK_Entree_Faireentr_Boisson
est devenue la suivante :
Entree_1_Boisson
Modèle final de nom de contrainte :
Références de l’aide en ligne :
(1) PowerAMC MPD - Guide de l'utilisateur \ CHAPITRE 14. Variables dans PowerAMC \ Liste des variables de PowerAMC \ Variables de référence.
(2) PowerAMC MPD - Guide de l'utilisateur \ CHAPITRE 14. Variables dans PowerAMC \ Liste des variables de format de PowerAMC.
A vous de jouer !
(a) Faites simple, mais pas plus simple ! (A. Einstein)
(b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
=> La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)
__________________________________
Bases de données relationnelles et normalisation : de la première à la sixième forme normale
Modéliser les données avec MySQL Workbench
Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.
Si la l'élément constname n'apparait pas, faite un clic droit sur Référence -> Ajouter des éléments... -> Cochez constname
![]()
Bonjour,
J'ai le même problème de nommage des contraintes, mais j'utilise PowerAMC v6.
Est ce que quelqu'un sait faire cette manipulation avec cette version de PowerAMC ?
Je suis sur Power AMC 12. Et j'ai le même problème.
Je n'arrive pas à trouver:
Barre d’outils \ SGBD \ Éditer le SGBD courant (Microsoft SQL Server 2000).
ni
faite un clic droit sur Référence -> Ajouter des éléments... -> Cochez constname
Bonjour,
Je cherche à modifier l'affichage des references aussi via ConstName.
Je souhaite avoir : NomCléCible = NomCléSource.
J'ai testé : %.U8:CHILD%(%PKEYCOLUMNS%) = %.U8ARENT%(%FKEYCOLUMNS%) mais ça ne fonctionne pas.
Coment faire ?![]()
Partager