En Microsoft SQL Server, conozco la consulta para verificar si existe una restricción predeterminada para una columna y descartar una restricción predeterminada es:
IF EXISTS(SELECT * FROM sysconstraints
WHERE id=OBJECT_ID('SomeTable')
AND COL_NAME(id,colid)='ColName'
AND OBJECTPROPERTY(constid, 'IsDefaultCnst')=1)
ALTER TABLE SomeTable DROP CONSTRAINT DF_SomeTable_ColName
Pero debido al error tipográfico en versiones anteriores de la base de datos, el nombre de la restricción podría ser DF_SomeTable_ColName
o DF_SmoeTable_ColName
.
¿Cómo puedo eliminar la restricción predeterminada sin ningún error de SQL? Los nombres de restricción predeterminados no aparecen en la tabla INFORMATION_SCHEMA, lo que hace las cosas un poco más complicadas.
Entonces, algo como 'eliminar la restricción predeterminada en esta tabla / columna' o 'eliminar DF_SmoeTable_ColName
', pero no dé ningún error si no puede encontrarlo.