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 TABLE
comDROP CONSTRAINT
. - Crie a nova restrição usando
ALTER TABLE
comADD 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.