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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de mohe27
    Inscrit en
    Février 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 112
    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 confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    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 confirmé Avatar de mohe27
    Inscrit en
    Février 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 112
    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 confirmé Avatar de mohe27
    Inscrit en
    Février 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 112
    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 confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    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 confirmé Avatar de mohe27
    Inscrit en
    Février 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 112
    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

+ 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