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 Procédural MySQL Discussion :

DROP INDEX ... IF EXISTS ??


Sujet :

SQL Procédural MySQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 31
    Points : 29
    Points
    29
    Par défaut DROP INDEX ... IF EXISTS ??
    Bonjour
    Je cherche a modifier un script (généré par power Amc), pour qu'il puisse fonctionner à partir d'une base vide , ou non.

    Je bute sur les instructions suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    drop index NOM_INDEX on NOM_TABLE
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    create index NOM_INDEX  on NOM_TABLE
    (
       NOM_CHAMP
    );
    Si j'execute la premiere ligne et que l'index NOM_INDEX n'existe pas :
    erreur
    #1091 - Ne peut effacer (DROP) ' NOM_INDEX '. Vérifiez s'il existe

    A l'inverse, si j'execute la deuxieme instruction (create index ...) alors que celui ci existe déjà :
    #1061 - Nom de clef ' NOM_INDEX ' déjà utilisé

    Existe t'il un equivalent du DROP TABLE IF EXISTS ??

    Ou bien un moyen de ne pas déclencher l'erreur pour passer aux lignes suivantes du script??

    Merci

  2. #2
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 903
    Points : 6 027
    Points
    6 027
    Par défaut
    A vérifier pour MySQL : le drop de la table supprime les index associés ?
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 31
    Points : 29
    Points
    29
    Par défaut
    Effectivement !!!

    Pour mon cas specifique donc, dans la mesure ou je recree la base (et donc les tables) les instructions DROP INDEX n'ont pas lieu d'être...
    Question a peine intelligente donc.

    Mais à supposer que l'on veuille modifier uniquement les index (une partie des noms, ou les champs ...) Y a t-il une solution ?

    "Il n'y a pas de bonnes réponses à une mauvaise question."
    la preuve que si !!

    Merci

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

Discussions similaires

  1. DROP COLUMN IF EXISTS
    Par VASAPANCH dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 07/09/2008, 22h53
  2. JPA: [Drop Table if Exist ]
    Par kamaldev dans le forum JPA
    Réponses: 4
    Dernier message: 26/05/2008, 07h35
  3. Drop Sequence If Exists
    Par *alexandre* dans le forum Oracle
    Réponses: 2
    Dernier message: 19/02/2007, 17h43
  4. drop index si existe
    Par marion782 dans le forum Oracle
    Réponses: 5
    Dernier message: 14/06/2006, 14h37
  5. [9i] ORA-29856 Drop index
    Par Scratch48 dans le forum Oracle
    Réponses: 50
    Dernier message: 22/12/2005, 17h44

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