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 :

Problème requete sur champs xml


Sujet :

MS SQL Server

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Problème requete sur champs xml
    Bonjour,
    J'ai dans ma BDD un champs dont le contenu est en XML.
    Si je fais une requete de ce type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    DECLARE @idoc int
    DECLARE @doc varchar(1000)
    SET @doc =(select TOP 1 monchamps
    from mabaseJ
    where monchamps like '%060606%')
    -- Create an internal representation of the XML document.
    EXEC sp_xml_preparedocument @idoc OUTPUT, @doc
    -- Execute a SELECT stmt using OPENXML rowset provider.
    SELECT *
    FROM OPENXML (@idoc, '/document/formulaire/champs',2)
          WITH (nom varchar(10) '@nom',
                comment ntext 'text()')
    Cette requete fonctionne mais je ne peux récupérer qu'une seule ligne. Si je mets TOP 2 j'ai une erreur m'indiquant qu'une sous-requete ne peut avoir qu'un seul résultat.

    Connaissez-vous la syntaxe pour récupérer l'intégralité des lignes de mon champs xml ?
    L'idéal serait de récupérer ces infos pour les traiter en php derrière. Mais peut-être serait-il plus simple de récupérer directement le champs en xml et le retraiter derrière ?

    Mon champ en xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <document><formulaire><champs nom="libelle">060606</champs><champs nom="objet">invitation</champs><champs nom="Nom">M. Dupont</champs></formulaire></document>

  2. #2
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Bonjour,

    Je n'ai pas pris le temps de copier et tester ton code, mais auparavant :
    as-tu essayé OPENXML() avec le flag 1 pour indiquer que tu travailles avec des éléments? Ici il est appelé avec 2, ce qui lui demande de travailler avec des attributs.
    Rudi Bruchez
    Rudi Bruchez EIRL, solutions MS SQL Server et NoSQL
    LinkedIn - [Outil libre de diagnostic SQL Server : Sql Trismegiste]
    LIVRES : Optimiser SQL Server -
    Microsoft SQL Server 2012 Security Cookbook
    - les bases de données NoSQL

    e-learning : LinkedIn Learning - Pluralsight

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Le problème c'est que j'ai besoin de ces attributs pour organiser mes traitements... Mais je vais essayer avec 1.

    FRED

Discussions similaires

  1. Requete sur champ Date
    Par kmaniche dans le forum C++Builder
    Réponses: 5
    Dernier message: 31/10/2006, 10h38
  2. Requete sur champ de date
    Par cryptorchild dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 25/09/2006, 16h45
  3. Requete sur champ DATE MySQL
    Par tom06440 dans le forum Requêtes
    Réponses: 3
    Dernier message: 17/09/2006, 17h45
  4. Réponses: 1
    Dernier message: 04/04/2006, 10h28
  5. Requete sur champ vide
    Par Eltaz dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/06/2005, 13h36

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