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 :

Passer un tableau en parametre d'une Procedure stockée / Fonction ?


Sujet :

Développement SQL Server

  1. #1
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Points : 2 399
    Points
    2 399
    Par défaut Passer un tableau en parametre d'une Procedure stockée / Fonction ?
    Bonjour,

    je voudrais savoir si il est possible de passer en paramètre d'une procédure stockée ou d'une fonction un tableau de valeurs.

    En effet, je dois utiliser dans une requête la clause IN pour filtrer un champ qui peut avoir plusieurs valeurs. Ces valeurs ainsi que leurs nombre peuvent varier.

    Merci
    Zend Certified PHP Engineer

    « Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana

  2. #2
    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 : 42
    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
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Si vous êtes sous une version antérieure à SQL Server 2008, ce n'est pas possible, il vous faut passer en paramètre une chaine contenant la liste des valeurs séparées par le caractère de votre choix.

    Si vous êtes sous SQL Server 2008, vous pouvez passer un paramètre de type table à votre procédure stockée.

    Sous quelle version de SQL Server êtes-vous ?

    @++

  3. #3
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Points : 2 399
    Points
    2 399
    Par défaut
    Je ne connais pas la version.


    Âpres lecture de votre faq pour connaitre la version :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT SERVERPROPERTY('ProductLevel')
    > SP3
     
    SELECT @@VERSION
    > Microsoft SQL Server  2000 - 8.00.760 (Intel X86)   Dec 17 2002 14:22:05   Copyright (c) 1988-2003 Microsoft Corporation  Standard Edition on Windows NT 5.0 (Build 2195: Service Pack 4) 
     
    SELECT SERVERPROPERTY('ProductVersion')
    > 8.00.760

    Il semblerait que ce soit SQl-SERVER 2000 ?
    Zend Certified PHP Engineer

    « Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana

  4. #4
    Membre expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 780
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 780
    Points : 3 033
    Points
    3 033
    Par défaut
    Citation Envoyé par Seb33300 Voir le message
    Il semblerait que ce soit SQl-SERVER 2000 ?
    Effectivement

    Ta demande est une demande récurrente et je pense avoir lu un truc où une solution était proposée; je ne sais plus. Et pas sûr non plus que cette hypothétique solution soit adaptée à SQL 2K.

    Alternative : crée une table temporaire dans tempdb et requête cette table dans ta sp.
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be

  5. #5
    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 : 42
    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
    Points : 12 371
    Points
    12 371
    Par défaut
    C'est ce que fait la fonction proposée par guanou

    Alternative : crée une table temporaire dans tempdb et requête cette table dans ta sp.
    Ha ben non là

    @++

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/03/2013, 15h04
  2. Réponses: 1
    Dernier message: 25/01/2013, 16h25
  3. Réponses: 9
    Dernier message: 11/01/2010, 10h30
  4. Réponses: 1
    Dernier message: 20/07/2007, 07h19
  5. Passer un tableau en parametre dans une fonction js
    Par hellmaster78 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 19/06/2005, 14h35

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