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_idSe 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