Scenario:
Lavori come sviluppatore di SQL Server, devi generare script per eliminare tutti i vincoli predefiniti nel database di SQL Server.Soluzione:
Per eliminare il vincolo predefinito, utilizziamo la sintassi di seguitoAlter Table [SchemaName].[TableName]Drop Constraint [Nome vincolo]
La query sottostante può essere utilizzata per generare script per generare tutti i vincoli predefiniti nel database di SQL ServerSQL 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 Se desideri escludere alcune tabelle o schemi, puoi filtrare ulteriormente i record utilizzando la clausola where nella query. Ho eseguito la query precedente e ha generato script di rilascio per tutti i vincoli predefiniti. ![]() |
| Come generare script per eliminare tutti i vincoli predefiniti nel database di SQL Server |
Prendi i risultati dalla colonna DropDefaultConstraint ed esegui per eliminare i vincoli predefiniti.
Video demo:come eliminare tutti i vincoli predefiniti nel database di SQL Server
