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 :

Problème requète update, sql server 2000


Sujet :

Développement SQL Server

  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 28
    Par défaut Problème requète update, sql server 2000
    Bonjour,
    Je rencontre un problème lors d'une mise à jour d'un champs.
    voici la table que j'ai et l'objectif a atteindre:

    Agent_____equipe
    F002______NULL
    F002______NULL
    F002______NULL
    F002______NULL
    F005______NULL
    F005______NULL
    F005______NULL
    F008______NULL
    F008______NULL
    F008______NULL
    F008______NULL
    F008______NULL

    ------------
    Agent_____equipe
    F002______A
    F002______NULL
    F002______NULL
    F002______NULL
    F005______A
    F005______NULL
    F005______NULL
    F008______A
    F008______NULL
    F008______NULL
    F008______NULL

    Soit incrémenter seulement une ligne (peu importe laquelle.
    ) par agent avec l'équipe qui est fixe.

    merci d'avance

  2. #2
    Membre expérimenté
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2007
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 193
    Par défaut
    je dirai par une fonction de fenêtrage, row_number, dense_rank mais bon ça n'existe que en 2005.

    Je pense que sql pro dans ses petits papiers, parle de méthode en passant par des tables temporaire et autres ....
    Je vois bien un par table temporaire mais ça sera vite lent si les enregistrements sont nombreux, pk ne pas avoir de clé primaire sur cette table? je ne comprends pas l'intéret

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 28
    Par défaut
    Avec une clé primaire ca changerait quoi? Et puis de toute façon il n'y a pas possibilité d'en créer. Table temporaire? Si tu pouvais etre plus explicite s'il te plait!
    Merci!!
    Cordialement!

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 995
    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 995
    Billets dans le blog
    6
    Par défaut
    Une base de données n'est pas un fichier de ligne. Il n'y a pas d'ordre des lignes dans une table. Aussi trouver une ligne parmi n lignes identique est STRICTEMENT IMPOSSIBLE !

    Votre conception partant sur des bases fausses, commencez par la revoir en nous disant par exemple quel est l'intérêt d'avoir n lignes identiques ?
    Vous comprendrez alors l'importance d'avoir une clef dans une table, c'est à dire une valeur unique permettant de trouver une ligne et une seule.

    A titre de comparaison, une table c'est comme un sac de bille. Si je vous demande de retirer une bille bleu et qu'il y en as plusieurs alors vous commettez une faute magistrale si vous n'en retirez qu'une seule parmi le lot, parce que si vous choisissez une des n billes bleu cela veut dire que vous faîtes un choix basé sur un critère qui n'existe pas. Partant de là il y a non déterministe... ce qui contrevient au fondement même des bases de données (théorie des ensembles).
    Soit vous devez prendre tout le lot de bille bleu, soit aucune.

    Commencez donc par vous former aux concepts des bases de données relationnelels et abandonnez l'idée qu'une table c'est comme un fichier, ce qui est TOTALEMENT FAUX !


    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/ * * * * *

Discussions similaires

  1. problème de connection à SQL server 2000 depuis Excel
    Par tribaleur dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/09/2008, 12h08
  2. requête update (SQL SERVER 2005)
    Par bonomsoleil dans le forum VB.NET
    Réponses: 6
    Dernier message: 11/08/2008, 17h52
  3. Exécuter requête sur SQL Server 2000
    Par zoubli dans le forum VBScript
    Réponses: 4
    Dernier message: 01/03/2007, 08h59
  4. problème de connectivité à sql server 2000
    Par enimiste dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 03/01/2007, 19h50
  5. Problème avec Microsoft SQl Server 2000
    Par jyms2006 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 01/03/2006, 10h29

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