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
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

Poser une question


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
Merci, j'ai trouvé hier soir un code similaire pour retrouver cela.
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