OVH Cloud OVH Cloud

ALTER TABLE MaTable DROP PRIMARY KEY

11 réponses
Avatar
Via
Bonjour à tous !

Je souhaiterais supprimer une clé primaire d'une table pour en recréer une
autre.
Voici mes commandes actuelles :

USE MaBase
ALTER TABLE FabContact DROP PRIMARY KEY -- Là ça ne marche pas !
ALTER TABLE FabContact ADD PRIMARY KEY (RefAdresse, NCont)

Comme précisé dans le commentaire, j'ai un problème sur la deuxième ligne.
En effet, je devrais (d'après l'aide) écrire :
ALTER TABLE FabContact DROP CONSTRAINT constraint_name

Mais comment trouver le constraint_name ? Autant les noms des colonnes je
les connais, autant les noms des contraintes...
Des solutions ?
Merci d'avance,

Via :)

1 réponse

1 2
Avatar
Via
Aaaaaaaaaaaaaaah mais voilà qui expliquerait bien des choses !
Bien, je regarde donc ça tout à l'heure, merci pour cet éclair dans ma
nuit :)

Via :)


"Yan" a écrit dans le message de
news:c7vi1o$cmd$
ah ok, c plus clair

le problème c que si tu fais sp_help Ma_Table dans l'analyseur, tu verras
qu'il ne te renvoie pas qu'un seul tableau mais 3 ou 4 (j'sais plus), dont


2
contiennent les infos sur les index

le fait de mettre sp_help dans une vue, et bein elle renvoie que le


premier
tableau

après je sais pas comment faire pour voir les autres...



"Via" a écrit dans le message de
news:Omor$
> On reste calme et on explique :
> 1/ J'ai une table qui s'appelle Ma_Table.
> 2/ Je crée une vue que je ne nomme pas, je m'en fous.
> 3/ Dans cette vue, j'écris : sp_help Ma_Table
> 4/ J'exécute, et je récupère un recordset que ma vue me permet, comme


son
> nom l'indique, de voir. Que vois-je ?
> Name | Owner | Type | Created_datetime
> FabCont | dbo | user table | 20/04/2004 12:44:54
>
> Et c'est tout. Ce qui me permet d'affirmer que ça ne renvoie que le nom,
le
> propriétaire, le type de la table et sa date de création (OK je l'avais
> oublié, mais là n'est pas l'important)
> Maintenant je demande : où est l'erreur ? :)
>
> Via :)
>
>
>
> "Yan" a écrit dans le message de
> news:c7teom$o45$
> > j'ai pas compris le rapport avec une vue ??
> >
> >
> > "Via" a écrit dans le message de
> > news:%23V$c$
> > > Alors je dois mal me débrouiller, parce que quand je crée une vue


et
> que
> > > j'écris sp_help ma_table, ça me renvoie uniquement le nom, le
> propriétaire
> > > et le type de la table.
> > > Ou est l'erreur ?
> > >
> > > Via :)
> > >
> > > "Yan" a écrit dans le message de
> > > news:c7tdmf$aa5$
> > > > sp_help nom_table donne aussi tous les index, dont la clé primaire
> > > >
> > > >
> > > >
> > > > "Via" a écrit dans le message de
> > > > news:
> > > > > Bonjour Frédéric.
> > > > >
> > > > > C'est bien ce que je demande... comment obtenir le nom de


cette
> > > > contrainte
> > > > > ? L'exemple de code que j'ai donné vient de MySQL qui lui


accepte
ce
> > > type
> > > > de
> > > > > code.
> > > > > Mon problème est donc bien de savoir le nom de cette


contrainte
> afin
> > > de
> > > > > pouvoir la supprimer. Et non, ce n'est pas moi qui l'ai créée vu
> > qu'elle
> > > a
> > > > > été créée par l'intermédiaire de l'EM et que par conséquent je
n'ai
> > pas
> > > > > spécifié de nom à cette contrainte. Il me faut donc un moyen


pour
> > > > récupérer
> > > > > le nom de la contrainte de clé primaire. sp_help ne me donne que
le
> > nom,
> > > > le
> > > > > propriétaire et le type de la table. Ca me fait une belle jambe


:)
> > > > >
> > > > > Via :)
> > > > >
> > > > > "Fred BROUARD" a écrit dans le


message
> de
> > > > > news:uj8fM7%
> > > > > > pour supprimer une contrainte même si elle est clef primaire,


il
> > faut
> > > > > connaitre *le nom de la contrainte* et non pas
> > > > > > spécifier son type !!!
> > > > > >
> > > > > > A lire :
> > > > > > http://sqlpro.developpez.com/SQL_AZ_7b.html#SCHEMA76
> > > > > >
> > > > > > A +
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Frédéric BROUARD, MVP MS SQL Server. Expert Langage SQL /


Delphi
/
> > web
> > > > > > Livre SQL - col. Référence :
> > http://sqlpro.developpez.com/bookSQL.html
> > > > > > Le site du SQL, pour débutants et pros :
> > http://sqlpro.developpez.com
> > > > > > ************************ www.datasapiens.com
> > *************************
> > > > > >
> > > > > > Via a écrit:
> > > > > > > Bonjour à tous !
> > > > > > >
> > > > > > > Je souhaiterais supprimer une clé primaire d'une table


pour
en
> > > > recréer
> > > > > une
> > > > > > > autre.
> > > > > > > Voici mes commandes actuelles :
> > > > > > >
> > > > > > > USE MaBase
> > > > > > > ALTER TABLE FabContact DROP PRIMARY KEY -- Là ça ne marche


pas
!
> > > > > > > ALTER TABLE FabContact ADD PRIMARY KEY (RefAdresse, NCont)
> > > > > > >
> > > > > > > Comme précisé dans le commentaire, j'ai un problème sur la
> > > deuxième
> > > > > ligne.
> > > > > > > En effet, je devrais (d'après l'aide) écrire :
> > > > > > > ALTER TABLE FabContact DROP CONSTRAINT constraint_name
> > > > > > >
> > > > > > > Mais comment trouver le constraint_name ? Autant les noms
des
> > > > colonnes
> > > > > je
> > > > > > > les connais, autant les noms des contraintes...
> > > > > > > Des solutions ?
> > > > > > > Merci d'avance,
> > > > > > >
> > > > > > > Via :)
> > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>




1 2