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 :

Drop Table If ?


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 21
    Points : 29
    Points
    29
    Par défaut Drop Table If ?
    Bonjour tous !

    Petite question :

    Auriez vous une solution pour faire un DROP TABLE conditionnel du genre "supprimer toutes les tables dont le nom commence par 'b' et finit par 'M' ?

    Pour précision, la question se pose sous Oracle mais je serais également interressé d'avoir la solution sous SQL Server.

  2. #2
    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
    Pour effectuer ce genre de conditions, vous devez accéder aux informations de schémas.
    Or, je doute que celui de SQL Server et d'Oracle soit identique à ce niveau là.

    Comme je ne connais pas SQL Server, je ne peux vous donner une piste que sur Oracle : consulter DBA_TABLES ou USER_TABLES selon vos droits.

    Avec cette table (vue ?), vous pouvez appliquer vos conditions dans un curseur par exemple.
    Lors du parcours du curseur, la destruction de la table courante sera alors effectuée par une requête via EXECUTE IMMEDIATE.

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 249
    Points : 1 745
    Points
    1 745
    Par défaut Sql Serveur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * FROM INFORMATION_SCHEMA.TABLES
    

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 849
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 849
    Points : 52 975
    Points
    52 975
    Billets dans le blog
    6
    Par défaut
    Sur SQL Server, façon normative :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    IF EXISTS (SELECT *
               FROM   MA_BASE.INFORMATION_SCHEMA.TABLES
               WHERE  TABLE_SCHEMA = 'mon_schema'        -- par défaut dbo
                 AND  TABLE_NAME   = 'ma_table')
       DROP    mon_schema.matable
    SQL Server, façon spécifique (peut ne pas fonctionner d'une version à l'autre) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    IF OBJECT_ID('mon_schema.ma_table') IS NOT NULL
       DROP TABLE mon_schema.ma_table
    A +

Discussions similaires

  1. concernant drop table
    Par daguet dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 25/10/2005, 13h09
  2. comment eviter ora-00942 lors d'un drop table
    Par sqlakf76 dans le forum Oracle
    Réponses: 22
    Dernier message: 11/10/2005, 15h48
  3. syntaxe drop table exists
    Par guns17 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 11/02/2005, 10h50
  4. DROP table et table fantome
    Par romeo9423 dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 07/02/2005, 18h46
  5. urgent drop tables
    Par divableue dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/10/2003, 14h46

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