« AliasOf (exp) » : différence entre les versions
(Page créée avec « <source lang='delphi'>function AliasOf(const iClassName,iAttribute:string):string;</source> Cet opérateur retourne la colonne d'un attribut d'une jointure. Il s'utilise... ») |
Aucun résumé des modifications |
||
(Une version intermédiaire par le même utilisateur non affichée) | |||
Ligne 11 : | Ligne 11 : | ||
|- | |- | ||
|iClassName | |iClassName | ||
| | |Nom de la contrainte ou nom de la classe de l'attribut | ||
|- | |- | ||
|iAttribute | |iAttribute | ||
Ligne 40 : | Ligne 40 : | ||
t0.unCodeA a été récupéré par l'opérateur AliasOf. | t0.unCodeA a été récupéré par l'opérateur AliasOf. | ||
{{tip|Si il existe une ambigüité sur la jointure, par exemple la classe apparait dans plusieurs jointures, l'opérateur retourne la première jointure}} | {{tip|AliasOf() ne peut être utilisé que sur la partir gauche du terme.}} | ||
{{tip|Si iClassName est vide, l'opérateur retourne l'attribut de la classe de base du sélecteur.}} | |||
{{tip|Si il existe une ambigüité sur la jointure, par exemple la classe apparait dans plusieurs jointures, l'opérateur retourne l'attribut de la première jointure.}} | |||
Voir aussi: | Voir aussi: |
Dernière version du 14 novembre 2016 à 08:22
<source lang='delphi'>function AliasOf(const iClassName,iAttribute:string):string;</source>
Cet opérateur retourne la colonne d'un attribut d'une jointure.
Il s'utilise dans le cadre des contraintes de sélecteur.
Paramètre | Usage |
---|---|
iClassName | Nom de la contrainte ou nom de la classe de l'attribut |
iAttribute | Nom de l'attribut |
Exemple :
<source lang="delphi"> function doSelector(const iCodeA:string; const iCodeB:string):Integer; var selA:TSelector; obj:TObject; begin
selA := ClassA.CreateSelector('unCodeA=%1','unCodeA',True,[iCodeA]); obj := selA.AddConstraint(nil, 'ClassB','oid','refB','unCodeB=%1',[iCodeB]); obj := selA.AddConstraint(obj, 'ClassA2','refB','oid','AliasOf(ClassA,unCodeA)=unCodeA2',[]); Result := selA.Count;
end; </source>
Le code SQL généré est :
select * from CLASSA t0 join CLASSB t1 on t1.oid=t0.oidrefB and unCodeB='iCodeB' join CLASSA2 t2 on t2.oidrefB = t1.oid and t0.unCodeA = t2.unCodeA2
t0.unCodeA a été récupéré par l'opérateur AliasOf.
![]() |
Tip : Si il existe une ambigüité sur la jointure, par exemple la classe apparait dans plusieurs jointures, l'opérateur retourne l'attribut de la première jointure. |
Voir aussi:
{{#if:Expressions objets (code)|
{{#if:Expressions objets (code)|— Expressions objets (code) |}} — Développement DSM —
|
{{#if:|— [[{{{1}}}]] |}} — Développement DSM —
}}