sql >> Base de Datos >  >> RDS >> Sqlserver

Modifique una restricción CHECK en SQL Server usando T-SQL

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:

  1. Elimine la restricción usando ALTER TABLE con DROP CONSTRAINT .
  2. Cree la nueva restricción usando ALTER TABLE con ADD 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.