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 :

Abonner tous les clients d'une société


Sujet :

Développement SQL Server

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 176
    Points : 91
    Points
    91
    Par défaut Abonner tous les clients d'une société
    Bonne rencontre,

    Je viens vers vous car je cale un peu sur une requête ou du moins, je souhaite avoir une requête la plus optimisée possible.

    Structure de la DB :

    Proprietaires (Idproprietaire,nom, etc)
    Clients (Idclient,nom,Fkproprietaire, etc)
    Abonnements (IdAbonnement, nom, etc)
    Clients_abonnements (Fkabonnement, FkClient)

    Je voudrais pouvoir abonner tous les clients d'un propriétaire d'un seul coup. Je compte passer à ma PS l'Id du propriétaire et l'ID de l'abonnement.

    Première idée, le curseur mais je sais que ce n'est pas bien et qu'il faut éviter au maximum.

    Par contre, je ne vois pas trop comment faire d'autre et je me rends compte de mes limites en SQL. Ca ne doit pas être bien compliqué mais voilà...

    D'avance, merci.

    Amicalement,
    Raphaël.

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 773
    Points : 52 739
    Points
    52 739
    Billets dans le blog
    5
    Par défaut
    Un INSERT avec un CROSS JOIN suffit amplement à abonner TOUS les clients d'un seule coup. Une procédure est donc inutile et une boucle stupide...
    1) c'est contre performant
    2) en cas d'erreur vous allez vous arrêter au plein milieu des insertions sans savoir ou vous en étiez... alors que l'insert est une transaction qui se fera en tout ou rien.

    A +

    e en plus de
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 176
    Points : 91
    Points
    91
    Par défaut
    Bonne rencontre,

    Merci, effectivement, je me suis martel en tête pour rien.

    Je viens de réaliser ça en 10 secondes avec une sous requête avec insertion.

    Amicalement,
    Raphaël.

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 02/02/2011, 21h13
  2. afficher tous les champs d'une table
    Par julio84 dans le forum ASP
    Réponses: 8
    Dernier message: 19/01/2005, 10h31
  3. Retrouver tous les champs d'une table
    Par tripper.dim dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 11/07/2004, 20h40
  4. Afficher tous les champs d'une table avec dbexpress et MySQL
    Par LHT dans le forum Bases de données
    Réponses: 2
    Dernier message: 25/06/2004, 17h11
  5. Envoie d'un message a TOUS les composant d'une form
    Par chddv dans le forum Composants VCL
    Réponses: 7
    Dernier message: 15/09/2003, 09h47

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