Scenariusz:
Pracujesz jako programista SQL Server, musisz wygenerować skrypty, aby usunąć wszystkie domyślne ograniczenia w bazie danych SQL Server.Rozwiązanie:
Aby usunąć domyślne ograniczenie, używamy poniższej składniZmień tabelę [SchemaName].[TableName]Drop Constraint [Nazwa ograniczenia]
Poniższa kwerenda może służyć do generowania skryptów w celu wygenerowania wszystkich domyślnych ograniczeń w bazie danych programu 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_idJeśli chcesz wykluczyć niektóre tabele lub schemat, możesz dalej filtrować rekordy, używając klauzuli WHERE w zapytaniu. Wykonałem powyższe zapytanie i wygenerowałem skrypty upuszczania dla wszystkich ograniczeń domyślnych.
Jak generować skrypty usuwające wszystkie domyślne ograniczenia w bazie danych SQL Server |
Pobierz wyniki z kolumny DropDefaultConstraint i wykonaj, aby usunąć ograniczenia domyślne.
Wideo demonstracyjne:Jak usunąć wszystkie domyślne ograniczenia w bazie danych SQL Server