Précédent   Forum du club des développeurs et IT Pro > Autres langages > XML/XSL et SOAP > XQUERY/SGBD
XQUERY/SGBD Le langage XQUERY et tout ce qui a trait aux relations XML et bases de données : BDD XML native, intégration/extraction de XML, XML dans BDD relationnelle... Avant de poster -> FAQ XML, Sources XML
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 28/06/2011, 10h53   #1
mimish
Nouveau Membre du Club
 
Inscription : avril 2009
Messages : 158
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 158
Points : 39
Points : 39
Par défaut Incrémentation d'une variable

Bonjour,

J'aimerai savoir est ce qu'il une possibilité d'incrémenté une variable, genre :
Code :
1
2
 
if(condition) compteur++;
mais dans XQuery.
voici ma requête
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
let $MyLog:=fn:doc("G1.xml")/Trace
let $cmpt :=0

(: La fonction principal :)
return
for $c1 at $cmpt1 in $MyLog/Operation       
let $x1 := $MyLog/Operation[$cmpt1]
where $x1/Type='Ins' and $c1/NumDocument/text()=1        
         return
          let $cmpt := $cmpt+1
            return
             <Nbr>
             {      
                $cmpt
             }
             </Nbr>
ça marche pas ... pouvez vous m'aider s'il vous plait ?
mimish est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2011, 11h08   #2
Loceka
Expert Confirmé
 
Avatar de Loceka
 
Tlouye Ci
Inscription : mars 2004
Messages : 1 800
Détails du profil
Informations personnelles :
Nom : Tlouye Ci

Informations forums :
Inscription : mars 2004
Messages : 1 800
Points : 2 918
Points : 2 918
Je connais pas le XQuery mais apparement il est impossible de réaffecter une variable, comme en XSL donc.

Par contre cette méthode permettrait de contourner ça :
Code :
1
2
3
4
5
6
7
8
9
10
declare function local:populateLine()
{
let $g9 :=
for $GROUP_9 in $edi/GROUP_9
where (string-length($GROUP_9/SV1/SV101/SV10102)>0 and string-length($GROUP_9/SV1/SV101/SV10102)<6 )
return $GROUP_9
for $GROUP_9 at $index in $g9
return
<LineNumber>{$index}</LineNumber>
};
ça vient d'ici : http://forums.datadirect.com/ddforum...?threadID=5941
Loceka est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 15h17.


 
 
 
 
Partenaires

Hébergement Web