Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So löschen Sie alle Standardeinschränkungen in der SQL Server-Datenbank – SQL Server / TSQL-Tutorial Teil 94

Szenario:

Sie arbeiten als SQL Server-Entwickler und müssen Skripte generieren, um alle Standardeinschränkungen in der SQL Server-Datenbank zu löschen.

Lösung:

Um die Standardeinschränkung zu löschen, verwenden wir die folgende Syntax
Alter Table [SchemaName].[TableName]Drop Constraint [Constraint Name]
Die folgende Abfrage kann verwendet werden, um Skripts zu generieren, um alle Standardeinschränkungen in der SQL Server-Datenbank zu generieren.
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
 
 
 
 Wenn Sie einige Tabellen oder Schemas ausschließen möchten, können Sie die Datensätze weiter filtern, indem Sie die where-Klausel in der Abfrage verwenden. Ich habe die obige Abfrage ausgeführt und sie hat Drop-Skripts für alle Standardeinschränkungen generiert.
Generieren von Skripts zum Löschen aller Standardeinschränkungen in der SQL Server-Datenbank

Nehmen Sie die Ergebnisse aus der DropDefaultConstraint-Spalte und führen Sie sie aus, um Standardeinschränkungen zu löschen.

Video-Demo:So löschen Sie alle Standardeinschränkungen in der SQL Server-Datenbank