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 :

Procédure stocké, un tableau de int en paramètre


Sujet :

MS SQL Server

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    849
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 849
    Par défaut Procédure stocké, un tableau de int en paramètre
    Dans une procédure stockée j'ai besoin d'envoyer un tableau de int en paramètre.

    Est-ce possible ?
    Comment faire ?

    Merci beaucoup

  2. #2
    Membre Expert
    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
    Par défaut
    Salut,

    deux solutions :
    - un grand varchar avec un délimiteur, que tu parses dans ta sp, par exemple à l'aide d'une fonction qui retourne une table.
    - une structure XML que tu envoies dans un grand varchar, ou un TEXT, et que tu convertis en table dans ta sp avec OPENXML.

    Un exemple de openxml que j'ai sous la main :
    Pour un XML de ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <Elements>
      <Element>
          <Key/>
          <Value/>
      </Element>
     </Elements>
    Code comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    	DECLARE @idoc int
    	DECLARE @tField TABLE (FieldName varchar(100), Value varchar(100))
     
    	EXEC master.dbo.sp_xml_preparedocument @idoc OUTPUT, @KeyValue
     
    	INSERT INTO @tField (FieldName, Value)
    	SELECT FieldName, Value
    	FROM OPENXML(@idoc, '/Elements/Element', 2) WITH (FieldName varchar(100) 'Key', Value varchar(100))
    ... ou sans passer par une variable table, directement dans un JOIN.

    En étant conscient que les performances du OPENXML peuvent poser problème sur un serveur très sollicité. A tester.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    849
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 849
    Par défaut
    C'est un serveur très sollicité donc je vais faire la première solution.

    Comment je fais pour le parser ?
    Quels sont les fonctions à utiliser dans sqlserver ?

    Merci beaucou pde ton aide.

  4. #4
    Membre Expert
    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
    Par défaut
    Tu as des exemples ici : http://www.aspfaq.com/show.asp?id=2248.

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

Discussions similaires

  1. Procédure stockée avec un dataset passé comme paramètre
    Par DEV-10 dans le forum Développement
    Réponses: 3
    Dernier message: 17/10/2011, 08h22
  2. procédures stockées et tableau
    Par deborah95 dans le forum MySQL
    Réponses: 1
    Dernier message: 11/06/2009, 09h46
  3. Réponses: 2
    Dernier message: 03/12/2006, 12h37
  4. Procédure stockée : passage d'un tableau en paramètres
    Par thomas_strass dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 12/05/2006, 14h52
  5. Passer en paramétre un tableau dans une procédure stockée
    Par killysui dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 26/04/2006, 11h47

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