sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo eliminar todas las restricciones predeterminadas en la base de datos de SQL Server - Tutorial de SQL Server / TSQL, parte 94

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 sintaxis
Alterar 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