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

Développement SQL Server Discussion :

type XML couple valeur


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Développeur Web
    Inscrit en
    Janvier 2011
    Messages
    49
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2011
    Messages : 49
    Par défaut type XML couple valeur
    Bonjour,
    je dois réaliser une procédure stockée.

    Elle doit contenir une jointure sur des couples de valeurs.
    On m'a conseillé d'utiliser le type XML afin d'envoyer à la procédure stockée ces couples de valeurs afin d'avoir un type xml 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
     
    <Objets>
    <Objet>
    <attribut1>valeur</attribut1>
    <attribut2>valeur</attribut2>
    <Objet>
    <Objet>
    <attribut1>valeur</attribut1>
    <attribut2>valeur</attribut2>
    <Objet>
    ......
    .....
    Avez vous une idée de comment réaliser cette jointure? et comment créer l'objet xml...?

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut
    Vous êtes sur d'être sur le bon forum ?
    Quel est votre query en l'état ?

  3. #3
    Membre averti
    Développeur Web
    Inscrit en
    Janvier 2011
    Messages
    49
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2011
    Messages : 49
    Par défaut
    Oui je suis sur le bon forum, j'ai déja utilisé le type XML en Sql Server mais avec une liste de valeur, la il faut que je l'utilise avec une liste de couple de valeur.

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    C'est effectivement possible avec SQLXML et XQuery.

    Soit la table d'exemple suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    CREATE TABLE maTable
    (
    	i int
    	, j int
    	, dummy varchar(32)
    )
    GO
     
    INSERT INTO dbo.maTable VALUES (1, 2, 'toto')
    INSERT INTO dbo.maTable VALUES (3, 4, 'titi')
    GO
    Et la procédure stockée suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    CREATE PROCEDURE maProc
    	@document xml
    AS
    BEGIN
    	SET NOCOUNT ON
     
    	;WITH
    		CTE AS
    		(
    			SELECT	D.data.value('./attribut1[1]', 'int') AS i
    				, D.data.value('./attribut2[1]', 'int') AS j
    			FROM	@document.nodes ('Objets/Objet') AS D(data)
    		)
    	SELECT		T.dummy
    	FROM		CTE AS C
    	INNER JOIN	dbo.maTable AS T
    				ON C.i = T.i
    				AND C.j = T.j
    END
    GO
    Un exemple d'exécution serait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    DECLARE @document xml
    SET @document = N'
    <Objets>
    	<Objet>
    		<attribut1>1</attribut1>
    		<attribut2>2</attribut2>
    	</Objet>
    	<Objet>
    		<attribut1>3</attribut1>
    		<attribut2>4</attribut2>
    	</Objet>
    </Objets>'
     
    EXEC dbo.maProc @document
    Ce qui retourne :

    dummy
    --------------------------------
    toto
    titi

    @++

  5. #5
    Membre averti
    Développeur Web
    Inscrit en
    Janvier 2011
    Messages
    49
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2011
    Messages : 49
    Par défaut
    je n'ai pas encore testé mais c'est exactement ce qu'il me fallait, merci beaucoup.

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

Discussions similaires

  1. type ID et valeurs XML
    Par nadsky dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 06/05/2009, 16h55
  2. question type colonne & taille/valeur
    Par thierry198 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 07/01/2006, 01h41
  3. tester le type d'une valeur saisie
    Par lalaurie40 dans le forum C
    Réponses: 1
    Dernier message: 09/10/2005, 21h52
  4. 1 champ de type enum à 3 valeurs ou 2 champs booléens ?
    Par El Saigneur dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 22/01/2005, 08h53
  5. Champs de type XML dans une base de données
    Par Flocodoupoil dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 07/07/2004, 18h57

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