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

Administration Oracle Discussion :

suppression de tables applicatives


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de awalter1
    Inscrit en
    Août 2004
    Messages
    994
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 994
    Par défaut suppression de tables applicatives
    Bonjour,
    J'essaye de supprimer les tables utilisées par mon application (elles sont aussi créées par moi). Je fais un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    select * from tab;
    TNAME                          TABTYPE  CLUSTERID
    ------------------------------ ------- ----------
    BIN$lcyiJFgaGGTgRAAwbisn2A==$0 TABLE
    BIN$lcyiJFgeGGTgRAAwbisn2A==$0 TABLE
    BIN$lcyiJFggGGTgRAAwbisn2A==$0 TABLE
    Ensuite je fais un drop table de ces tables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    drop table BIN$lcyiJFhjGGTgRAAwbisn2A==$0
                                         *
    ERROR at line 1:
    ORA-00933: SQL command not properly ended
    Visiblement les caractères spéciaux font que le drop n'est pas compris.
    Si j'essaye de le faire avec sqldevelopper, j'ai l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    can not perform DDL/DML over objects in Recycle Bin
    Si je vais dans Recycle Bin, je ne trouve pas de commande pour supprimer ces tables ...
    Merci de votre aide

  2. #2
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 462
    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 462
    Par défaut
    Quand le nom d'un objet contient des caractères spéciaux (tout ce qui est autre que lettre, chiffre et $ # _ ), il faut encadrer le nom de cet objet par des guillemets pour le manipuler.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SQL> create table "n'importe quoi" (a int);
     
    Table créée.
     
    SQL> select * from "n'importe quoi";
     
    aucune ligne sélectionnée
     
    SQL> drop table "n'importe quoi";
     
    Table supprimée.
    Par ailleurs, les objets dont le nom commence par BIN$ sont en général des objets supprimés, qui se trouvent à vrai dire dans la corbeille.
    Le contenu de la corbeille est visible à travers la vue USER_RECYCLEBIN (dont RECYCLEBIN tout court est un synonyme).
    Pour supprimer une table de la corbeille, on utilise la commande PURGE.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SQL> drop table "n'importe quoi";
     
    Table supprimée.
     
    SQL> select type, object_name, original_name from user_recyclebin;
     
    TYPE                      OBJECT_NAME                    ORIGINAL_NAME
    ------------------------- ------------------------------ --------------------------------
    TABLE                     BIN$sWx3ULPtS+qc6mCFaOA5cg==$0 n'importe quoi
     
    SQL> purge table "n'importe quoi";
     
    Table purgée.

  3. #3
    Membre émérite Avatar de Z3phur
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2007
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2007
    Messages : 680
    Par défaut
    Bonjour,

    essai en faisant cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    spool purge.sql
    select 'purge ' || type || ' ' || original_name || ';'
    from recyclebin
    where ts_name = 'BIN$lcyiJFhjGGTgRAAwbisn2A==$0';
     
    spool off
    Edit : tu as été plus rapide POMALAIX

  4. #4
    Membre éprouvé Avatar de awalter1
    Inscrit en
    Août 2004
    Messages
    994
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 994
    Par défaut
    merci, j'avais essayé ' mais pas ".
    merci pour le purge table, ça marche.

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

Discussions similaires

  1. Performances : création / suppression de tables
    Par arcane dans le forum Access
    Réponses: 1
    Dernier message: 04/10/2005, 18h53
  2. Requete suppression de table
    Par isa21493 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/07/2005, 10h13
  3. suppression de table
    Par donny dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 29/05/2005, 10h34
  4. [sybase] Suppression de tables par lot
    Par Higgins dans le forum Sybase
    Réponses: 2
    Dernier message: 30/09/2004, 17h42
  5. Suppression de tables en cascade
    Par Moah dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 16/07/2004, 16h36

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