Se você já tem um
CHECK existente restrição no SQL Server, mas você precisa modificá-la, você precisará eliminá-la e recriá-la. Não há ALTER CONSTRAINT declaração ou algo semelhante. Então, para “modificar” uma restrição existente:
- Retire a restrição usando
ALTER TABLEcomDROP CONSTRAINT. - Crie a nova restrição usando
ALTER TABLEcomADD CONSTRAINT.
Exemplo
Aqui está um exemplo de como descartar e recriar um
CHECK limitação. ALTER TABLE ConstraintTest DROP CONSTRAINT chkTeamSize; ALTER TABLE ConstraintTest ADD CONSTRAINT chkTeamSize CHECK (TeamSize >= 5 AND TeamSize <= 20) ;
Como mencionado, você não pode modificá-lo – você precisa soltá-lo e criá-lo com a nova definição.
Nesse caso, a restrição é chamada chkTeamSize e eu simplesmente deixo cair e crio com a nova definição.
Uma observação sobre pedidos
Observe que
CHECK as restrições são validadas na ordem em que são criadas, portanto, descartar/recriar uma restrição pode fazer com que ela seja validada em uma ordem diferente da anterior. Isso pode resultar na captura de outros erros antes dessa restrição, quando foram capturados anteriormente.