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 :

Créer un Update multi valeur


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2
    Par défaut Créer un Update multi valeur
    Bonjour à tous.

    Je dois exécuter la requête ci-dessous environ 3800 fois en fonction de le variable que j’ai nommée dans mon exemple @variable (1,2,3 …….., 3800). Je souhaiterai donc savoir comment puis-je faire cette requête sans bien entendu l’exécuter autant de fois . J’ai pensé à passer par un curseur (???) si c’est le cas mais je ne maitrise malheureusement pas cette fonction.
    Ou y’a-t-il une autre solution ???

    update base1.dbo.f_comptet set ct_numcentrale = (select distinct (cast(f28 as numeric))
    from base2.dbo.f_represent rec
    left outer join base1.dbo.f_represent red
    on rec.re_nom = red.re_nom and rec.re_prenom = red.re_prenom
    left outer join base3.dbo.feuil1$ ex
    on rec.re_no = ex.re_no
    left outer join base1.dbo.f_comptet ct
    on red.re_no = ct.re_no
    where rec.re_no = @Variable)

    where re_no = (select distinct(red.re_no)
    from base2.dbo.f_represent rec
    left outer join base1.dbo.f_represent red
    on rec.re_nom = red.re_nom and rec.re_prenom = red.re_prenom
    left outer join base3.dbo.feuil1$ ex
    on rec.re_no = ex.re_no
    left outer join base1.dbo.f_comptet ct
    on red.re_no = ct.re_no
    where rec.re_no = @Variable)

    Par avance je vous remercie

  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
    22 010
    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 : 22 010
    Billets dans le blog
    6
    Par défaut
    créez une table temporaires et stockez y toutes vos données et liez là avec le reste.

    Au passage je perçoit (?) une jointure avec une feuille EXCEL ??? Est-ce le cas ??? Si oui, vous devriez éviter absolument cela !Sauf si vous entrevoyez le fait de pourrir la vue de tous vos utilisateurs du fait des attentes de verrous !

    A +
    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
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2
    Par défaut
    Bonjour,

    Merci pour votre réponse, en revanche je ne la comprends pas.
    Que dois-je y stocker et la lier avec quoi ??

    J’ai essayé de transformer mon champ @variable en une table qui contient une colonne de 1 à 3800 que j’ai ensuite introduit par un select dans ma formule.
    Formule:
    select (cast(champ1 as numeric)) from prescripteur.dbo.résultats) à la place de @variable

    Mais bien entendu comme cette table retourne plusieurs valeurs, il ne veut évidemment pas l’exécuter et l'instruction a été arrêtée.

    En revanche, je n’ai fait aucun lien avec un fichier Excel. Ce ne sont que des bases et des tables SQL. (Mais la table Feuil1$ est bien issue d’un import d’Excel).

    Cordialement,

Discussions similaires

  1. [AC-2010] UPDATE champ multi-valeurs
    Par laznic23 dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 08/10/2012, 09h58
  2. Bien créer une application multi-langues ? Unicode ou non ?
    Par Maxime Abbey dans le forum Composants VCL
    Réponses: 28
    Dernier message: 10/09/2007, 17h20
  3. [PostGreSLQ] pb d'UPDATE avec valeur NULL
    Par mellie dans le forum Langage SQL
    Réponses: 3
    Dernier message: 06/03/2006, 10h03
  4. Pb index multi-valeurs avec DBase
    Par Rickless dans le forum Bases de données
    Réponses: 3
    Dernier message: 23/01/2006, 16h50
  5. UPDATE multi-tables sous SQL Server
    Par Cybernet dans le forum Langage SQL
    Réponses: 8
    Dernier message: 25/03/2004, 15h34

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