Escenario:
Está trabajando como desarrollador de SQL Server, necesita generar secuencias de comandos para eliminar todas las restricciones predeterminadas en la base de datos de SQL Server.Solución:
Para descartar la restricción predeterminada, usamos la siguiente sintaxisAlterar tabla [SchemaName].[TableName]Drop Constraint [Constraint Name]
La siguiente consulta se puede usar para generar secuencias de comandos para generar todas las restricciones predeterminadas en la base de datos de SQL Server.
USE YourDatabaseName
go
SELECT
DB_Name() AS DBName,
Schema_name(t.Schema_id)AS SchemaName,
t.name AS TableName,
c.name AS ColumnName,
d.name AS DefaultConstraintName,
d.definition AS DefaultDefinition,
'Alter table ['+Schema_name(t.Schema_id)+'].['
+t.name+'] Drop Constraint ['+d.name+']' as DropDefaultConstraintQuery
FROM sys.default_constraints d
INNER JOIN sys.columns c ON
d.parent_object_id = c.object_id
AND d.parent_column_id = c.column_id
INNER JOIN sys.tables t ON
t.object_id = c.object_id Si desea excluir algunas tablas o esquemas, puede filtrar aún más los registros utilizando la cláusula where en la consulta. Ejecuté la consulta anterior y generó secuencias de comandos para todas las restricciones predeterminadas. ![]() |
| Cómo generar secuencias de comandos para eliminar todas las restricciones predeterminadas en la base de datos de SQL Server |
Tome los resultados de la columna DropDefaultConstraint y ejecútelos para eliminar las restricciones predeterminadas.
Demostración en video:cómo eliminar todas las restricciones predeterminadas en la base de datos de SQL Server
