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_idPokud 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