Dans le cadre d'un développement en T-SQL, il m'est arrivé de d'avoir besoin de créer une procédure stocker afin de modifier toutes les champs de ma base de données de type char(X) en nvarchar(X). Malgré la programmation de cette procédure, si certaine de vos tables contiennent des contraintes, SQL vous empêcheras de modifier les champs compris dans ces contraintes.
C'est donc qu'il vous faudra supprimer une par une les contraintes ou tout simplement de les supprimers à l'aide d'une procédure stocker. Dans mon cas, comme je n'avais que quelques contraintes, j'ai décidé de les supprimer manuellement. Avant de les supprimer, je me suis listé les contraintes que javais sur ma table. Alors voici comment lister avec SQL 2005, les contraintes d'intégrité d'une table. Il ne vous restera qu'à vous créer un curseur si vous désirez les suprimer grâce à une procédure stocker.
SELECT OBJECT_NAME(OBJECT_ID) AS NameofConstraint,
SCHEMA_NAME(schema_id) AS SchemaName,
OBJECT_NAME(parent_object_id) AS TableName,
type_desc AS ConstraintType
FROM sys.objects
WHERE type_desc LIKE '%CONSTRAINT' AND TableName = 'Nom_De_Ma_Table'