Tengo una columna con una restricción "DEFAULT". Me gustaría crear un script que elimine esa columna.Columna de caída de SQL Server 2005 con restricciones
El problema es que devuelve este error:
Msg 5074, Level 16, State 1, Line 1
The object 'DF__PeriodSce__IsClo__4BCC3ABA' is dependent on column 'IsClosed'.
Msg 4922, Level 16, State 9, Line 1
ALTER TABLE DROP COLUMN IsClosed failed because one or more objects access this column.
no pude encontrar una manera fácil de eliminar una columna y todas sus limitaciones asociadas (sólo encontraron grandes secuencias de comandos que se ven en la tabla del sistema .. . DEBE (!!) ser una "buena" manera de hacerlo.
Y como el nombre de la restricción DEFAULT ha sido generado aleatoriamente, no puedo soltarlo por su nombre.
actualización:
El tipo de restricción es "default".
Vi las soluciones que todos ustedes propusieron, pero las encuentro realmente "sucias" ... ¿No creen? No sé si es con Oracle o MySQL, pero es posible hacer algo como:
DROP COLUMN xxx CASCADE CONSTRAINTS
pero ha recibido todas las limitaciones relacionadas ... O por lo menos, de manera automática las restricciones asignadas a esa columna (¡al menos restricciones de CHECK!)
¿No hay nada como eso en MSSQL?
Tu respuesta es correcta, pero no hace lo mismo que la mía. Obtiene las restricciones de una tabla específica, la mía obtiene todas las restricciones. Dos cosas: error de sintaxis (elimine la coma antes de) y debe agregar "y dobj.name no es nulo" en la cláusula WHERE para eliminar los resultados no relevantes. –
+1, solo necesitaba esto. –