SQL-Standardeinschränkungen löschen, ohne ihre Namen zu kennen
In SQL Server kann das Identifizieren und Löschen von Standardeinschränkungen eine Herausforderung sein, insbesondere wenn ihre Namen so sind unbekannt oder inkonsistent. Um dieses Problem anzugehen, kann die dynamische Abfragegenerierung eingesetzt werden, um Standardeinschränkungen effektiv zu identifizieren und zu entfernen.
Erweiterte Antwort:
Erweitert das von Mitch Wheat geteilte Skript, noch mehr Der umfassende Ansatz beinhaltet die dynamische Generierung und Ausführung des DROP CONSTRAINT-Befehls. So funktioniert es:
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)
Erklärung:
Vorteile:
Das obige ist der detaillierte Inhalt vonWie kann man SQL-Standardeinschränkungen löschen, ohne deren Namen zu kennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!