GNT sans publicité, site mobile, fonctionnalitées exclusives...

Dropper une colonne avec toutes les contraintes liées

Le
Yanos El Guerilleros
Bonjour,

J'ai un petit soucis, j'aurais besoin de dropper une colonne qui contient
une valeur par défaut, vu que cette contrainte n'est pas nommée par le
développeur, je me retrouve avec un nom de contrainte autogénéré et comme
j'ai plusieurs bases à mettre à jour j'ai un souci pour dropper cette
contrainte de manière automatique.

Je dois faire un script de mise à jour pour une trentaine de commerciaux et
j'ai pas envie de le faire à la main :)

C'est sous MSSQL 2K et MSDE 2.0.

Comment pourrais-je faire ?

A++

Yanos
Lire les 2 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
el.c. - myLittleTools.net
Le #11352571
Bonjur Yanos

J'ai un petit soucis, j'aurais besoin de dropper une colonne qui
contient une valeur par défaut, vu que cette contrainte n'est pas
nommée par le développeur, je me retrouve avec un nom de contrainte
autogénéré et comme j'ai plusieurs bases à mettre à jour j'ai un
souci pour dropper cette contrainte de manière automatique.



Pour récupérer la liste des contraintes utilisés par une colonne

SELECT
i.name,
CONVERT(BIT, i.status & 2048) AS isPrimary
FROM sysindexes i
RIGHT JOIN sysindexkeys k ON i.id = k.id AND i.indid = k.indid
INNER JOIN syscolumns c ON k.colid = c.colid AND k.id = c.id
WHERE
i.id = OBJECT_ID(N'Nomdelatable')
AND i.indid > 0 AND i.indid < 255
AND i.status & 64 = 0
AND c.name = 'Nomdelacolonne'

Il ne reste plus qu'à boucler sur le recordset retourné
et
ALTER TABLE Nomdelatable DROP CONSTRAINT [Nomdelacontrainte]

si isPrimary est vrai alors
DROP INDEX [Nomdelacontrainte]


voilà
Elian Chrebor (el.c. sur host-web ;-))


--
// myLittleTools.net
// Consulting, ingénierie informatique et développement
// http://www.mylittletools.net/about


Je dois faire un script de mise à jour pour une trentaine de
commerciaux et j'ai pas envie de le faire à la main :)

C'est sous MSSQL 2K et MSDE 2.0.

Comment pourrais-je faire ?

A++

Yanos


Yanos El Guerilleros
Le #11352561
Salut,

Merci, j'ai trouvé hier soir un code similaire pour retrouver cela.

voilà
Elian Chrebor (el.c. sur host-web ;-))



J'avais repéré, même si je ne traine pas trop sur host web pour le moment
j'ai encore un peu de mémoire ;)

A++

Yanos
Publicité
Suivre les réponses
Poster une réponse
Anonyme