threadom
Messages postés101Date d'inscriptionmardi 8 avril 2003StatutMembreDernière intervention 1 novembre 2007
-
2 juin 2006 à 16:29
threadom
Messages postés101Date d'inscriptionmardi 8 avril 2003StatutMembreDernière intervention 1 novembre 2007
-
8 août 2006 à 09:17
Bonjour,
Quelqu'un connaitrais t'il un moyen d'obtenir le nom de la contrainte automatiquement généré par SQL Server (2000-2005) lors d'un :
"ALTER TABLE MaBase.dbo.MaTable.MonChamp ADD MaColonne REAL DEFAULT 0"
Que ce soit en SQL ou en VB !
Ou alors encore mieux :D
Un moyen d'outrepasser cette contrainte lors de la suppression de la colonne :
"ALTER TABLE MaBase.dbo.MaTable.MonChamp DROP COLUMN MaColonne"
Afin de ne plus avoir l'erreur suivante :
Msg 5074, Niveau 16, État 1, Ligne 1
La objet 'DF__MaTable___MaCol__2C01B702' dépend de colonne 'MaColonne'.
Msg 4922, Niveau 16, État 9, Ligne 1
ALTER TABLE DROP COLUMN MaColonnea échoué car un ou plusieurs objets accèdent à cette colonne.
threadom
Messages postés101Date d'inscriptionmardi 8 avril 2003StatutMembreDernière intervention 1 novembre 2007 8 août 2006 à 09:17
Salut, j'ai procédé en 3 temps.
1) Je récupère le nom des contraintes :
SELECT DC.name
FROM SYS.DEFAULT_CONSTRAINTS DC, SYS.TABLES T, SYS.COLUMNS C
WHERE DC.parent_object_id = T.object_id
AND DC.parent_column_id = C.column_id
AND T.name = <Table_Name>
AND C.name = <Column_Name> AND C.object_id = T.object_id;
2) J'efface les contraintes :
ALTER TABLE <Column_Name> DROP CONSTRAINT <Constraint_Name>
3) Et après j'efface ma colonne
C'est un peu plus lourd mais bon ca a l'air de marché !