2010-02-11 82 views

回答

3

不,在SSMS上右键单击表格,选择“脚本表格为”,然后“下拉到”,然后“新窗口”,“文件...”或“剪贴板”,它会产生一个脚本,将包括FKS等

+0

只生成'drop table [table]'。您必须确保在选项中启用了依赖于脚本的元素,然后才能运行 – rizzle 2011-03-30 15:42:44

+0

如果您需要生成其他人可以使用的脚本,这也不是一个可行的解决方案,因为不能保证约束名称在多个系统中是相同的。 – 2012-03-10 00:15:13

5

对于那些谁更普遍适用的答案的希望来到这里的所有必要滴

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

谢谢并为Tim Lentine How to find the name of a default constraint开始投票。

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