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 :

Comment purger une BDD ..


Sujet :

MS SQL Server

  1. #1
    Membre du Club Avatar de mohe27
    Inscrit en
    Février 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 112
    Points : 55
    Points
    55
    Par défaut Comment purger une BDD ..
    Bonjour à tous,

    voilà je voudrai vous demander comment purger une Table de quelques enregistrement qui existent sur une autre liste.

    je m'explique:
    j'ai une BDD (BDD1) contenant une seule Table (Table1) qui contient quelques 200000 enregistrements.
    maintenant j'ai une liste qui contient 30000 enregistrement qui exsitent déjà sur ma (Table1) et dont je doit supprimer ce qui ramène le nombre des enregistrements dans ma (Table1) à 170000.(procéder à leur suppression 1 par 1 n'est pas très pratique, frustrant même.

    comment dois je procéder ?? avec des explications systaxiques svp..

    je dois vous dire que je suis novice en matière de langage SQL.

    mon SGBD est le MSDE.

    je vous remercie

  2. #2
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Salut,

    Pour commencer, il faudrait que ta liste soit dans une table. Si ce n'est pas le cas, utilise les outils d'importation pour importer les données de ta liste dans une table qu etu supprimera après.

    Une fois que tu as ta table avec la liste des enregistrements a supprimer, tu identifies quel est le champ qui servira a unir tes 2 tables.

    ensuite tu tapes une requete en select pour voir les enregistrements qui seront supprimé (vaux mieux etre prudent)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select * 
    from Table1
    Where champ1 in (select champliste from liste)
    Une fois que tout est ok

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    delete 
    from Table1
    Where champ1 in (select champliste from liste)
    En espérant t'avoir aidé

  3. #3
    Membre du Club Avatar de mohe27
    Inscrit en
    Février 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 112
    Points : 55
    Points
    55
    Par défaut
    Bonjour,

    oui ça a marché "jfontaine"

    merci à toi , là tu m'as vraiment donné un coup de main.

    merci beaucoup

  4. #4
    Membre du Club Avatar de mohe27
    Inscrit en
    Février 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 112
    Points : 55
    Points
    55
    Par défaut
    Bonjour "JFontaine"

    une autre petite question Stp:

    si le Scénario était plutôt d'ajouter la liste des 30000 enregistrements à la liste de ma table (Table1) ce qui logiquemnt devrait porter le nombre d'enregistrements de cette dernière à 230000, comment dois je m'y prendre ??

    merci d'avance

  5. #5
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Si tu veux inserer de nouveaux enregistrements dans ta table il faut te poser quelques questions

    1. Quel est la clé unique de la table de destination

    1. Est ce que j'ai de quoi alimenter tous les champs qui ne peuvent être null et ce, sans interferer avec le point 1



    Si après ces questions tu as de quoi poursuivre regarde la syntaxe de INSERT

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Insert into Table1 (champ1, champ2, champ3) values (1 ,2 ,3)
    ou insert a partir d'une autre table

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into Tables1 select champ1 from table2

  6. #6
    Membre du Club Avatar de mohe27
    Inscrit en
    Février 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 112
    Points : 55
    Points
    55
    Par défaut
    Bonjour "Jérôme"

    j'ai fait un test avec la deuxième Syntaxe "

    ---------------------------------------------------
    Code :
    INSERT INTO Tables1 SELECT champ1 FROM table2
    ---------------------------------------------------

    et ça a marché mais seulement après avoir supprimer la clé primaire de la Table2 sinon impossible de faire la copie vers la Table1.

    je te reviendrai par d'autres questions car tu m'aides beaucoup là

    merci à toi

  7. #7
    Membre du Club Avatar de mohe27
    Inscrit en
    Février 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 112
    Points : 55
    Points
    55
    Par défaut
    Bonjour "Jérôme"

    voilà je te reviens avec d'autres questions.

    là mon scénario se presente comme suit:

    supposons que je veux rajouter la liste des 30000 enregistrements à la table (Table1) mais avec une condition, c'est que parmis les 200000 enregistrements de la Table1 certains existent déjà sur la lsite des 30000 et si je veux rajouter cette liste à ma Table1 je ne veux pas avoir de doublons au niveau de la Table1. donc je ne veux récupérer de la Liste des 30000 enregistrements que les valeurs qui n'existent pas sur la Table1.

    merci à toi pour ton aide si précieuse.
    cdt

  8. #8
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Comme ca, ca devrait fonctionner.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    INSERT INTO Tables1 
               SELECT champ1 
               FROM table2 
               WHERE champ1 not in 
                           (select distinct(champ) from table1)

  9. #9
    Membre du Club Avatar de mohe27
    Inscrit en
    Février 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 112
    Points : 55
    Points
    55
    Par défaut
    Bonjour "Jérôme"

    oui tout a fait ça fonctionne parfaitement, merci.

    Est-il possible de m'orienter où trouver differents exercices SQL traitant differents scénarios (simples et complexes à la fois) et ce afin de parfaire un peu mes connaissances et surtout la pratique qui compte également.

    je te remercie beaucoup pour toutes ces lumières.

    je n'hésiterai pas à te revenir en cas de besoin

    cdt

  10. #10
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2005
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 215
    Points : 471
    Points
    471
    Par défaut
    Salut
    Si tu cherches exercices SQL sur , tu trouves des liens comme celui-ci :

    http://www2.ift.ulaval.ca/~agamache/...rcicesSQL.html

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

Discussions similaires

  1. [SAGE ODBC] Comment connecter une BDD ?
    Par aqwz dans le forum Autres SGBD
    Réponses: 8
    Dernier message: 14/09/2006, 10h00
  2. Réponses: 3
    Dernier message: 04/05/2006, 14h59
  3. Comment utiliser une BDD GDB sans installer interbase ?
    Par QAYS dans le forum Bases de données
    Réponses: 2
    Dernier message: 03/05/2006, 15h31
  4. comment compacter une BDD paradox!?
    Par saada1978 dans le forum Bases de données
    Réponses: 1
    Dernier message: 30/04/2006, 09h59
  5. [SQLBase Server 7.5.1]Comment lire une BDD de ce type?
    Par Niouts dans le forum Autres SGBD
    Réponses: 3
    Dernier message: 06/04/2006, 19h53

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