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 :

Datatable en parametre d'une procédure stocké


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 44
    Par défaut Datatable en parametre d'une procédure stocké
    Bonjour a tous,
    J'ai un petit exercice en sql server 2008, alors je doit créer une procédure stocké pour modifier plusieurs ligne à la fois.. donc j'ai pensé à récupérer tout mes infos en datatable (coté vb.net) et les passer au procédure stocké.
    alors je suis planté au déclaration d'un type datatable coté sql server.
    !: j'ai déjà cherché sur msdn mais j'arrive pas à appliquer ces exemples

    Merci

  2. #2
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Bonjour,

    Pourquoi ne pas modifier vos lignes directement dans la procédure stockée au lieu de les passer en paramètres ?

    D'où proviennent les lignes que vous voulez modifier ?

    ++

  3. #3
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 44
    Par défaut
    bon voila, je vais vous expliquer.
    j'ai une table qui s'appelle "etat":
    id_etat,
    nom,
    prenom,
    .
    .
    etat (peut prendre les valeurs 100, 200, 300, 400 et 1000)
    ....................
    donc je veux par exemple modifier 100 ligne de état 100 à état 1000 et 450 ligne de l'état 300 à l'état 100.
    donc si boucle 100 + 450 = 550 fois pour update dans une table ou il y a 2 ou 3 million de ligne, je vais bloquer ma page et en même temps je vais consommer beaucoup de ressources. donc j ai pensé à rassembler tout mes ligne a modifier dans datatable puis le passer a une procédure qui va faire l'affaire

  4. #4
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Pourquoi ne modifiez vous pas votre table directement dans la procédure stockée ? Vous savez déjà quelles lignes vous allez modifier en fonction de la valeur de colonne etat.

    Vous pouvez par conséquent encapsuler votre logique de mise à jour directement dans la procédure stockée sans passer par un quelconque paramètre.

    Cependant avec SQL Server 2008, il existe des paramètres de table que vous pouvez utiliser avec une procédure stockée.

    Il faut, au préalable, créer un type table et définir sa structure.
    Il suffit ensuite de l'utiliser comme paramètre de votre procédure stockée.

    ++

Discussions similaires

  1. DataTable en paramètre d'une procédure stockée
    Par Maren00 dans le forum Accès aux données
    Réponses: 7
    Dernier message: 02/09/2012, 14h38
  2. Date comme parametre d'une procédure stockée
    Par Access Newbie dans le forum Access
    Réponses: 3
    Dernier message: 21/08/2006, 14h47
  3. Réponses: 2
    Dernier message: 16/03/2006, 13h41
  4. Réponses: 7
    Dernier message: 02/11/2005, 11h28

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