Supprimer les contraintes par défaut SQL sans connaître leurs noms
Dans SQL Server, identifier et supprimer les contraintes par défaut peut être difficile, en particulier lorsque leurs noms sont inconnu ou incohérent. Pour résoudre ce problème, la génération de requêtes dynamiques peut être utilisée pour identifier et supprimer efficacement les contraintes par défaut.
Réponse étendue :
Développant le script partagé par Mitch Wheat, un plus Une approche globale implique la génération et l’exécution dynamiques de la commande DROP CONSTRAINT. Voici comment cela fonctionne :
declare @schema_name nvarchar(256) declare @table_name nvarchar(256) declare @col_name nvarchar(256) declare @Command nvarchar(1000) set @schema_name = N'MySchema' set @table_name = N'Department' set @col_name = N'ModifiedDate' select @Command = 'ALTER TABLE ' + @schema_name + '.[' + @table_name + '] DROP CONSTRAINT ' + d.name from sys.tables t join sys.default_constraints d on d.parent_object_id = t.object_id join sys.columns c on c.object_id = t.object_id and c.column_id = d.parent_column_id where t.name = @table_name and t.schema_id = schema_id(@schema_name) and c.name = @col_name --print @Command execute (@Command)
Explication :
Avantages :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!