Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak usunąć wszystkie domyślne ograniczenia w bazie danych SQL Server — samouczek SQL Server / TSQL, część 94?

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ładni
Zmień 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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server 2008:jak nadać uprawnienia do nazwy użytkownika?

  2. Obejście dla obsługi kursora nie jest zaimplementowaną funkcją dla błędu SQL Server Parallel DataWarehousing TDS

  3. Jak utworzyć listę rozdzielaną przecinkami za pomocą zapytania SQL?

  4. Usuń profil poczty bazy danych w programie SQL Server (T-SQL)

  5. OBJECTPROPERTY() vs OBJECTPROPERTYEX() w SQL Server:jaka jest różnica?