sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo puedo descartar una restricción no nula en Oracle cuando no sé el nombre de la restricción?

alter table MYTABLE modify (MYCOLUMN null);

En Oracle, las restricciones not null se crean automáticamente cuando se especifica not null para una columna. Del mismo modo, se descartan automáticamente cuando se cambia la columna para permitir valores nulos.

Aclaración de la pregunta revisada :esta solución solo se aplica a las restricciones creadas para columnas "no nulas". Si especifica "Clave principal" o una restricción de verificación en la definición de la columna sin nombrarla, terminará con un nombre generado por el sistema para la restricción (y el índice, para la clave principal). En esos casos, necesitaría saber el nombre para soltarlo. El mejor consejo es evitar el escenario asegurándose de especificar un nombre para todas las restricciones que no sea "no nulo". Si se encuentra en una situación en la que necesita eliminar una de estas restricciones de forma genérica, probablemente deba recurrir a PL/SQL y las tablas de definición de datos.