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_id Jeś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
