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

MS SQL Server Discussion :

Supprimer un champ [2008]


Sujet :

MS SQL Server

  1. #1
    Membre éclairé
    Avatar de castorcharly
    Homme Profil pro
    Chef de projet
    Inscrit en
    Février 2009
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2009
    Messages : 423
    Par défaut Supprimer un champ
    Bonjour,

    J'ai besoin de pouvoir supprimer un champ dans une table.
    J'utilise ALTER TABLE xxx DROP COLUMN yyyy
    et ça fonctionne très bien.

    Par contre, j'ai besoin de vérifier, avant cette suppression si ce champ existe.

    Je pensais utiliser une routine de ce type, pour la table Cible et le champ Statut:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    IF EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[Cible]') AND name = N'Statut')
    ALTER TABLE...
    Mais que le champ existe ou pas, cette commande ne me trouve pas le champ ' Statut' !

    Y a t il un moyen, sans être obligé de faire un autre select pour lire tous les champs et vérifier que le champ est présent ?

    Merci pour votre aide,

  2. #2
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Août 2009
    Messages : 623
    Par défaut
    C'est normal, tu regardes dans les indexs au lieu de regarder dans les colonnes.
    Essayes plutôt comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IF EXISTS (select * from sys.columns c where c.name = 'Statut' and c.object_id = OBJECT_ID(N'[dbo].[Cible]'))

  3. #3
    Membre éclairé
    Avatar de castorcharly
    Homme Profil pro
    Chef de projet
    Inscrit en
    Février 2009
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2009
    Messages : 423
    Par défaut
    Citation Envoyé par darkelend Voir le message
    C'est normal, tu regardes dans les indexs au lieu de regarder dans les colonnes.
    Essayes plutôt comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IF EXISTS (select * from sys.columns c where c.name = 'Statut' and c.object_id = OBJECT_ID(N'[dbo].[Cible]'))
    Bon, t'as pas du café à m'offrir en plus, parce que là j'ai pas les yeux en face des trous !

    Merci pour aide,

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

Discussions similaires

  1. Supprimer un champ ?
    Par djew13 dans le forum 4D
    Réponses: 3
    Dernier message: 20/09/2006, 14h44
  2. Réponses: 1
    Dernier message: 29/05/2006, 10h50
  3. Supprimer un champs dans un DB
    Par BigZ444 dans le forum Bases de données
    Réponses: 1
    Dernier message: 28/04/2006, 00h56
  4. comment supprimer un champ dans une requete ??
    Par loran v2 dans le forum Bases de données
    Réponses: 2
    Dernier message: 24/03/2006, 20h41
  5. Supprimer un champ dans une table
    Par valerie90 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 24/08/2004, 09h53

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