7

オラクルでは、DROP TABLE ...カスケード制約を発行でき、FKなどについて文句を言うことはありません。

T-SQLに同等のものはありますか?

4

2 に答える 2

6

より一般的に適用可能な答えを期待してここに来た人のために

これにより、制約が検出され、ドロップされてから、列が削除されます

開始のデフォルト制約の名前を見つける方法について、 TimLentineに感謝と投票を行います。

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
于 2013-01-18T15:36:21.177 に答える
3

いいえ、SSMSでテーブルを右クリックし、[スクリプトテーブル]、[ドロップ先]、[新しいウィンドウ]、[ファイル...]、または[クリップボード]の順に選択すると、すべてのスクリプトが生成されます。 FKなどの必要なドロップ。

于 2010-02-11T20:00:30.737 に答える