Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Dropper une colonne avec toutes les contraintes liées

2 réponses
Avatar
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

2 réponses

Avatar
el.c. - myLittleTools.net
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


Avatar
Yanos El Guerilleros
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