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

Langage SQL Discussion :

cherche a vider plusieurs tables en meme temps?


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 193
    Points : 76
    Points
    76
    Par défaut cherche a vider plusieurs tables en meme temps?
    hola a tous,

    c est pitete une question stupide mais y a t il un moyen de vider le contenu de plusieurs tables en meme temps (par une seule ligne de commande j veu dire)

    le syntaxe suivante ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    delete from tdz12, tdz13;
    svouplai ?

  2. #2
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Points : 5 673
    Points
    5 673
    Par défaut
    J'aurais mis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "TRUNCATE TABLE table_1, table_2, table_n ";
    J'ai pas testé mais ça doit pas être loin

  3. #3
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut
    Tiens j'en profite pour poser une question sur le même sujet :

    (je suis sous sybase)


    est ce qu'il y a une différence notoire entre TRUNCATE et DELETE FROM ?


    Merci !

  4. #4
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 193
    Points : 76
    Points
    76
    Par défaut
    ch ai pas mais pitete que le delete supprime 1 seul enregistrement d une table et le truncate en supprime l integralité des donnees !!
    a verifier !!

  5. #5
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut
    sous sybase, DELETE FROM matable vide bien matable.

    mais je trouve toujours dans le code de mon prédécesseur TRUNCATE.

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Citation Envoyé par Mathusalem
    est ce qu'il y a une différence notoire entre TRUNCATE et DELETE FROM ?
    Oui il y a pas mal de différences dont, la plus importante pour moi est que TRUNCATE ne peut pas être annulé par un ordre ROLLBACK contrairement à DELETE.
    Sous Oracle, il faut aussi considérer le repositionnement de la HWM, les redo logs, etc.
    Une recherche avancée vous en dira plus.

  7. #7
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 102
    Points : 28 387
    Points
    28 387
    Par défaut
    TRUNCATE n'est pas une commande du standard SQL.
    Toutefois, pour les SGBD qui implémentent cette extension, TRUNCATE va physiquement mettre à 0 les compteurs de la table, comme si elle venait d'être recréée, alors que DELETE va supprimer logiquement les références aux enregistrements supprimés.
    Dans le premier cas, les mécanismes de journalisation sont désactivés, l'opération est très rapide et ... irrémédiable. Dans le second cas, un ROLLBACK est possible.

  8. #8
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Salut,

    Citation Envoyé par nenekes
    y a t il un moyen de vider le contenu de plusieurs tables en meme temps (par une seule ligne de commande j veu dire)
    Non, pas de raccourci sur DELETE, il te faut une instruction par table

  9. #9
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut
    Citation Envoyé par al1_24
    TRUNCATE n'est pas une commande du standard SQL.
    Toutefois, pour les SGBD qui implémentent cette extension, TRUNCATE va physiquement mettre à 0 les compteurs de la table, comme si elle venait d'être recréée, alors que DELETE va supprimer logiquement les références aux enregistrements supprimés.
    Dans le premier cas, les mécanismes de journalisation sont désactivés, l'opération est très rapide et ... irrémédiable. Dans le second cas, un ROLLBACK est possible.


    d'accord, merci beaucoup

  10. #10
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 579
    Points
    2 579
    Par défaut
    Si tu veux utiliser plusieurs delete et rendre la suppression de plusieurs tables "atomique", tu peux faire ça au sein d'une transaction.

  11. #11
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 193
    Points : 76
    Points
    76
    Par défaut
    merci a tous pour ces eclaircissements

    et finalement j ai fais un script pour balancer la sauce

    a pliche

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

Discussions similaires

  1. Insertion dans plusieurs tables au meme temps
    Par javalhoussain dans le forum ASP.NET
    Réponses: 2
    Dernier message: 03/05/2011, 00h36
  2. [MS SQL]faire un UPDATE sur plusieurs tables en meme temps
    Par touille dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 18/07/2007, 09h45
  3. [MySQL] Modifier plusieurs lignes de tables en meme temps
    Par helrick dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 12/07/2007, 11h18
  4. Insertion dans plusieurs tables en meme temps
    Par weed dans le forum Requêtes
    Réponses: 5
    Dernier message: 04/07/2007, 11h13
  5. Plusieurs commandes en meme temps
    Par caribou_belle dans le forum Linux
    Réponses: 7
    Dernier message: 18/09/2003, 17h07

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