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

SQL Oracle Discussion :

Supprimer des données à trente jours


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 95
    Par défaut Supprimer des données à trente jours
    Bonjour,

    Je travaille Oracle 9i.

    Et vous vous en doutez, je débute....

    J'ai une table Document, qui définit une DateDocument comme étant un TimeStamp(6).

    Ma question est simple, mais après plusieurs essais infructueux.... je souhaite faire un delete des tuples de Document dont la date est inférieure à la date système - 30 jours.
    Quelque chose du genre delete from DOCUMENT where DATEDOCUMENT<(SELECT SYSDATE - 30 FROM DUAL);

    Mais je ne delete rien avec cette requête.

    Auriez-vous une idée?

    Je vous remercie.
    Cordialement,
    TS

  2. #2
    Membre chevronné
    Avatar de argoet
    Inscrit en
    Mai 2002
    Messages
    582
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 582
    Par défaut
    Déja , ce n'est pas normal qu'avec votre requête vous ne supprimez rien.
    Normalement toutes les doc < (30J) devrait logiquement etres supprimées

  3. #3
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 461
    Par défaut
    Vous pouvez déjà remplacer le DELETE par un SELECT pour voir si ça ramène quelque chose.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT count(*) from DOCUMENT where DATEDOCUMENT< SYSDATE - 30;

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 95
    Par défaut
    Bonsoir,

    je ramène 54 enregistrements avec un SELECT count(*) FROM DOCUMENTEDITION_DOED WHERE DATEDOCUMENTEDITION< SYSDATE - 30;

    Etonnant.....

  5. #5
    Membre chevronné
    Avatar de Bibeleuh
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2010
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 209
    Par défaut
    Citation Envoyé par Wise_Sherkaan Voir le message
    Bonsoir,

    je ramène 54 enregistrements avec un SELECT count(*) FROM DOCUMENTEDITION_DOED WHERE DATEDOCUMENTEDITION< SYSDATE - 30;

    Etonnant.....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DELETE DOCUMENTEDITION_DOED WHERE DATEDOCUMENTEDITION < SYSDATE - 30;
    devrait fonctionner alors, sinon j'arrête de bosser dans les BDD et je m'en vais élever des pingouins en Alaska (à moins que vous ayez des enregistrements fils reliés à cette table)

  6. #6
    LEK
    LEK est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    715
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 715
    Par défaut
    Faites vous la vérification suite à la suppression avec le même client que celui ou vous exécuter votre requête ? Ne serait-ce pas un oubli de commit ?

  7. #7
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 461
    Par défaut
    Citation Envoyé par Bibeleuh Voir le message
    ...devrait fonctionner alors, sinon j'arrête de bosser dans les BDD et je m'en vais élever des pingouins en Alaska ...
    Attention, comme les séminaristes, 90% des éleveurs de pingouins le sont suite à un pari stupide !

    On peut imaginer des raisons diverses qui fassent que ça ne marche pas :
    - un déclencheur qui s'exécute à l'insu de votre plein gré
    - du VPD qui laisse passer le SELECT mais pas le DELETE
    - une contrainte référentielle comme vous le suggériez vous-même
    - le fait que ça ne soit pas une table mais une vue (non modifiable, ou WITH READ ONLY)
    ...
    le tout associé à des messages d'erreur masqués

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

Discussions similaires

  1. Supprimer des données quand la date est inférieur a X jour
    Par Syrisse dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 15/03/2011, 14h26
  2. supprimer des données dans plusieurs tables
    Par mnssylvain dans le forum Access
    Réponses: 4
    Dernier message: 28/01/2007, 19h06
  3. Remplacer / Supprimer des données dans un fichier txt
    Par PedroBD dans le forum Langage
    Réponses: 3
    Dernier message: 03/07/2006, 13h33
  4. [MySQL] supprimer des données dans la base
    Par Commodore dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 07/02/2006, 02h43
  5. Supprimer des données dans un xml
    Par pingoui dans le forum Format d'échange (XML, JSON...)
    Réponses: 49
    Dernier message: 12/08/2004, 16h49

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