T-SQL:DROP表级联约束相当吗?

chr*_*ris 7 t-sql cascade

在oracle中,我可以发出DROP TABLE ...级联约束,它不会抱怨FK等.

在T-SQL中是否有等价物?

Ton*_*son 6

对于那些来到这里的人,希望得到更普遍适用的答案

这将找到约束,删除它,然后找到列

谢谢并投票给Tim Lentine 如何找到开始的默认约束的名称.

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
Run Code Online (Sandbox Code Playgroud)


KM.*_*KM. 3

不,在 SSMS 中右键单击表,然后选择“脚本表为”,然后选择“拖放到”,然后选择“新窗口”、“文件...”或“剪贴板”,它将生成一个脚本,其中包含所有必要的 FK 滴等