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 :

[T-SQL] Procédure à nombre variable de paramètres ?


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de NeoMan
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 171
    Par défaut [T-SQL] Procédure à nombre variable de paramètres ?
    Rebonjour à tous !

    Sous MS SQL Server 2000, peut-on créer des procédures stockées qui accepte un nombre variable de paramètres ? Si oui comment faire ?

    Je pense que c'est malheureusement pas possible (T-SQL ne gère pas les tableaux donc...), mais j'aimerais une confirmation.

    Merci d'avance !

    @++

    NeoMan

  2. #2
    Invité
    Invité(e)
    Par défaut
    Quel est ton besoin exactement ? Car si tu as une quantité finie de paramètres maximum, déclare-les tous dans ta procédure avec des valeurs par défaut (NULL).

    Mais encore une fois, ça dépend de ton besoin.

  3. #3
    Membre confirmé Avatar de NeoMan
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 171
    Par défaut
    C'est pour un système de pagination. Dans le but de rendre ce système le plus souple et le plus facilement déployable possible sur des projets existants, j'aimerais ne pas toucher aux procédures stockées existantes!
    Et de la même façon les futures procédures stockées ne doivent pas être conçues pour être compatible avec mon système : toutes procédures de sélection (retournant une seule table d'information) doit pouvoir utiliser mon système. Du moins c'est mon but.

    Pour cela je pensais faire une procédure stocké Pagination dédiée à mon système de pagination, qui appelerait directement les procédures stockées de sélection.

    Imaginon le cas suivant :
    J'ai déjà une procédure stockée SerachAdherents qui me recherche des adhérents selon selon leur nom @searchName et leur région géographique @searchRegion.

    J'aimerais utiliser ma procédure Pagination pour appeler la procédure SearchAdherent. Pour cela il me faut les paramètres suivants :

    - Pour la procédure Pagination -
    @numPage : numéro de la page que l'on consulte
    @nbRecordByPage : nombre d'enregistrement par page
    @procedureStored : Nom de la procédure stockée à appeler (dans ce cas 'SearchAdherent')

    - Pour la procédure stockée appelée -
    @searchName
    @searchRegion


    J'espère avoir été clair

    @++

    NeoMan

  4. #4
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 227
    Billets dans le blog
    25
    Par défaut
    Non. Il y a la possibilité de les déterminer avec des valeurs par défaut à à NULL par défaut et traiter la logique dans le code.
    Ou alors, il y a possibilité de passer les paramètres dans une chaîne et de traiter cela via sql dynamique, mais FORTEMENT déconseillé ! Pas propre, pas performant.
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  5. #5
    Membre confirmé Avatar de NeoMan
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 171
    Par défaut
    Citation Envoyé par fadace
    Ou alors, il y a possibilité de passer les paramètres dans une chaîne et de traiter cela via sql dynamique, mais FORTEMENT déconseillé ! Pas propre, pas performant.
    Effectivement c'est une solution, très bourrin mais c'est une solution...
    Un jour je me le ferais peut-être pour le fun mais ça ne pourra pas convenir pour l'usage actuel.
    Dommage que les procédures stockées ne gèrent pas les tableaux aurait pu le faire !!

    Merci pour ta réponse !

    @++

    NeoMan

  6. #6
    Invité
    Invité(e)
    Par défaut
    Pourquoi ne pas faire une procédure stockée étendue alors ?

  7. #7
    Membre confirmé Avatar de NeoMan
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 171
    Par défaut
    Kézako* :

    PS : A traduire littéralement par "Mais qu'est ce donc que cela très cher ?"


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

Discussions similaires

  1. Réponses: 0
    Dernier message: 18/03/2009, 18h00
  2. Réponses: 9
    Dernier message: 24/05/2005, 16h34
  3. Nombre variable de paramètres
    Par rolkA dans le forum C++
    Réponses: 12
    Dernier message: 10/10/2004, 15h44

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