Scénář:
Pracujete jako SQL Server Developer, potřebujete generovat skripty pro zrušení všech výchozích omezení v SQL Server Database.Řešení:
Ke zrušení výchozího omezení používáme níže uvedenou syntaxiZměnit tabulku [název schématu].[název_tabulky]Zrušit omezení [název omezení]
Dotaz níže lze použít ke generování skriptů pro generování všech výchozích omezení v databázi 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 Pokud chcete vyloučit některé tabulky nebo schéma, můžete dále filtrovat záznamy pomocí klauzule where v dotazu. Provedl jsem výše uvedený dotaz a vygeneroval skripty přetažení pro všechna výchozí omezení. ![]() |
| Jak generovat skripty pro zrušení všech výchozích omezení v databázi SQL Server |
Vezměte výsledky ze sloupce DropDefaultConstraint a spusťte, abyste zrušili výchozí omezení.
Video ukázka:Jak zrušit všechna výchozí omezení v databázi SQL Server
