Ответ 1
НЕТ, В SSMS щелкните правой кнопкой мыши по таблице и выберите "script table as", затем "drop to", затем "Новое окно", "Файл..." или "Буфер обмена", и он произведет script, который будет включать все необходимые капли FK и т.д.
В оракуле я могу задать ограничения DROP TABLE... cascade и не будет жаловаться на FK и т.д.
Есть ли эквивалент в T-SQL?
НЕТ, В SSMS щелкните правой кнопкой мыши по таблице и выберите "script table as", затем "drop to", затем "Новое окно", "Файл..." или "Буфер обмена", и он произведет script, который будет включать все необходимые капли FK и т.д.
Для тех, кто попал сюда в надежде на более общий ответ
Это найдет ограничение, отбросит его, а затем столбец
Спасибо и голос Тиму Лентину Как найти имя ограничения по умолчанию для начала.
Declare @sql VarChar(255)
Declare @tableName Varchar(255)
Declare @columnName VarChar(255)
Select @tableName = 'MyTableName'
Select @columnName = 'MyColumnName'
select @sql = o.[name] from sysobjects o
inner join syscolumns c
on o.id = c.cdefault
inner join sysobjects t
on c.id = t.id
where o.xtype = 'd'
and t.name = @tableName
and c.name = @columnName
if @sql is not null
begin
select @sql = 'Alter Table ' + @tableName + ' Drop Constraint ' + @sql + ' Alter Table ' + @tablename + ' Drop Column ' + @columnName
exec(@sql)
end