IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Parcours d'un fichier XML


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 22
    Points : 17
    Points
    17
    Par défaut Parcours d'un fichier XML
    Bonjour à tous,

    Je possède un champ de type XML dans une des tables de ma base de données.

    Pour faire une requete sur ce champ, aucun problème:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT numero,Grille_xml.value('(Les_loyers/Loyer/Valeur)[1]', 'int') from contrat where numero=@Numero_contrat
    Mais j'aimerai parcourir l'ensemble du fichier XML avec une boucle:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    While (Select Grille_loyers_xml.exist('(Les_loyers/Loyer/Valeur)['+@i+']', 'int') from contrat where numero=@Numero_contrat)=1
    ...
    et là, le parcours est impossible, il me sort l'erreur suivante:

    L'argument 1 de la méthode de type de données XML "exist" doit être un littéral de chaîne.

    Impossible donc de récupérer un champ XML à partir d'un indice...

    Quelqu'un aurait-il une solution? Merci d'avance

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 893
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 893
    Points : 53 129
    Points
    53 129
    Billets dans le blog
    6
    Par défaut
    ne serais-ce pas exists avec un S à la fin ???

    A +

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    Non, ça ne marche pas avec exists!
    Merci quand même
    A +

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    C'est bon, je me réponds à moi même, voici la réponse:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Grille_loyers_xml.exist('(Les_loyers/Loyer/Valeur)[sql:variable("@i")]') FROM Offre WHERE numero=@Numero_offre)=1)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème parcours d'un fichier XML avec namespace
    Par ramroum1986 dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 20/05/2010, 21h55
  2. [WD10] Parcours d'un fichier XML
    Par nuFox dans le forum WinDev
    Réponses: 2
    Dernier message: 13/04/2009, 11h40
  3. [XSLT] parcours d'un fichier XML
    Par kakid dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 17/05/2008, 18h14
  4. [DOM] Besoin d'optimiser le parcours d'un fichier XML
    Par stardeus dans le forum Format d'échange (XML, JSON...)
    Réponses: 19
    Dernier message: 08/04/2007, 17h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo