Paramètre :
Modificateur
obligatoire : CHILD (Il doit également être
le premier modificateur.)
Modificateurs facultatifs : PREF, SUF, SEP, NULL.
Algorithme
:
CONN
exécute la règle indiquée par CHILD pour chaque occurrence
enfant. Si au moins une occurrence enfant produit un résultat, CONN
exécute les règles spécifiées par PREF et SUF.
Si au moins deux occurrences enfant produisent un résultat, il exécute
la règle indiquée par SEP. Ensuite, il construit la chaîne
résultante en concaténant le résultat de PREF, puis
le résultat de CHILD pour chaque occurrence enfant dont il a un
résultat, en insérant le résultat de SEP entre chaque
paire de résultats existants, et finalement le résultat de
SUF. Si la chaîne résultante est vide, CONN exécute
la règle indiquée par NULL et retourne le résultat
de NULL.
Note : pour les modificateurs PREF, SUF, SEP et NULL , l’occurrence courante est l’occurrence parent. Pour le modificateurs CHILD , l’occurrence courante est l’occurrence enfant.
Exemple 1
pukeyColumns CONN PrimaryuniquekeyColumns,Exemple 2
CHILD = name
SEP = ", "
PREF = "PRIMARY KEY ("
SUF = ") CONSTRAINT $name;"
NULL = "()";name ATTR ObjectPhysicalname;
Note : le modificateur CHILD est obligatoire et doit survenir avant tout autre modificateur. La fonction du référentiel PrimaryuniquekeyColumns retourne les colonnes associées à une clé primaire ou une clé unique; la fonction du référentiel ObjectPhysicalname retourne le nom physique de n'importe quel objet (ici le nom d'une colonne). Si la clé primaire ou unique est nommée "empl_prim_key" et est composée des colonnes "dept_no" et "empl_no", le résultat sera :
PRIMARY KEY (dept_no, empl_no) CONSTRAINT empl_prim_key
pukeyColumns CONN "org.modelsphere.sms.or.db.DbORPrimaryUnique.fColumns",
CHILD = name
SEP = ", "
PREF = "PRIMARY KEY ("
SUF = ") CONSTRAINT $name;"
NULL = "()";name ATTR "org.modelsphere.sms.db.DbSMSSemanticalObject.fPhysicalName";
Le même exemple que le précédent, mais en utilisant des méta-champs et méta-connecteurs de l'API au lieu des fonctions du référentiel.