Ich schreibe ein SQL-Skript zum Löschen einer Spalte und eine Standardbedingung. Das folgende Skript funktioniert gut, aber ich möchte wissen, ob es ein richtiger Weg ist.Eine Spalte mit einer Standardeinschränkung in SQL Server löschen (IF EXISTS)
Kann ich eine Standardbeschränkung mit einer Spalte in einer Anweisung löschen, anstatt zwei separate zu verwenden?
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DF_Employees_EmpID]') AND type = 'D')
BEGIN
ALTER TABLE [dbo].[Employees] DROP CONSTRAINT [DF_Employees_EmpID]
END
GO
BEGIN
ALTER TABLE [dbo].[Employees] DROP COLUMN [EmpID]
END
Ich dachte, sie separat zu tun hatte - und Sie tun, wenn ** ** Sie, dass bedingte Scheck benötigen. Wenn die Einschränkung definitiv existiert, kann sie als eine einzelne "ALTER TABLE" ausgeführt werden. –
die Art, wie ich es tat, ist richtig? – user1263981
Ja, wenn Sie die bedingte Prüfung benötigen, gibt es keine Möglichkeit, diesen Code zu verkürzen. –