Najpierw powinieneś usunąć problematyczne DEFAULT constraint
, po czym możesz upuścić kolumnę
alter table tbloffers drop constraint [ConstraintName]
go
alter table tbloffers drop column checkin
Ale błąd może pojawić się z innych powodów - na przykład funkcji zdefiniowanej przez użytkownika lub widoku z SCHEMABINDING
opcja dla nich ustawiona.
UPD: Całkowicie zautomatyzowane usuwanie skryptu ograniczeń:
DECLARE @sql NVARCHAR(MAX)
WHILE 1=1
BEGIN
SELECT TOP 1 @sql = N'alter table tbloffers drop constraint ['+dc.NAME+N']'
from sys.default_constraints dc
JOIN sys.columns c
ON c.default_object_id = dc.object_id
WHERE
dc.parent_object_id = OBJECT_ID('tbloffers')
AND c.name = N'checkin'
IF @@ROWCOUNT = 0 BREAK
EXEC (@sql)
END