update restricciones poner mayusculas fechas ejemplos ejemplo delete crear check sql constraints sql-update

mayusculas - poner restricciones en sql



¿Se puede reemplazar o actualizar una restricción de SQL? (3)

Podría eliminar la restricción existente y agregar la nueva restricción con la opción NOCHECK. Esto le permitiría agregar la restricción a pesar de que los datos en la tabla violan la restricción. Sin embargo, el problema al hacer esto sería que no podría actualizar los registros existentes sin hacer que pasen la restricción primero.

ALTER TABLE SomeTable DROP CONSTRAINT gradeRule GO ALTER TABLE SomeTable ADD CONSTRAINT gradeRule ... WITH NOCHECK GO

Aunque esto es posible, no suele recomendarse debido a los posibles problemas con futuras actualizaciones de los datos.

He escrito la siguiente restricción para una columna que he llamado "calificación":

CONSTRAINT gradeRule CHECK grade IN (‘easy’, ‘moderate’, ‘difficult’),

¿Es posible actualizar más tarde el gradeRule para tener diferentes valores? Por ejemplo, ''moderado'' y ''difícil'' podrían cambiarse a ''medio'' y ''duro''.

Gracias


Quite la restricción y luego agregue la restricción de reemplazo. No se puede actualizar una restricción en SQL Server al menos.

ALTER TABLE SomeTable DROP CONSTRAINT gradeRule

Además, deberá actualizar los datos de la tabla antes de agregar la nueva restricción, para que cumpla con la nueva restricción.


Si cambia la restricción, todos los datos actualmente en la tabla deben cumplir con la restricción. Por lo tanto, si tuviera 2 filas de datos con ''moderado'' y trató de cambiar la restricción a fácil, medio y difícil, no le dejaría.

Por lo tanto, tendría que establecer la nueva restricción (fácil, moderada, media, difícil, difícil) o actualizar los datos a los nuevos valores: moderado -> medio, etc.