2010-02-11 37 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