Si ya tiene un CHECK
existente restricción en SQL Server, pero debe modificarla, deberá eliminarla y volver a crearla. No hay ALTER CONSTRAINT
declaración o algo similar.
Entonces, para "modificar" una restricción existente:
- Elimine la restricción usando
ALTER TABLE
conDROP CONSTRAINT
. - Cree la nueva restricción usando
ALTER TABLE
conADD CONSTRAINT
.
Ejemplo
Aquí hay un ejemplo de soltar y recrear un CHECK
restricción.
ALTER TABLE ConstraintTest DROP CONSTRAINT chkTeamSize; ALTER TABLE ConstraintTest ADD CONSTRAINT chkTeamSize CHECK (TeamSize >= 5 AND TeamSize <= 20) ;
Como se mencionó, no puede modificarlo; debe soltarlo y crearlo con la nueva definición.
En este caso, la restricción se llama chkTeamSize y simplemente lo suelto y lo creo con la nueva definición.
Una nota sobre el pedido
Tenga en cuenta que CHECK
las restricciones se validan en el orden en que se crean, por lo que eliminar o volver a crear una restricción puede hacer que se valide en un orden diferente al anterior. Esto puede dar lugar a que se detecten otros errores antes de esta restricción, cuando antes se detectaban después.