sql server外部キーの削除

970 ワード

x制約名を先に見つける
次に削除
例をあげます
--テスト環境
--マスターテーブル
create table test1(id int primary key not null,value int)
insert test1 select 1,2
go
--テーブルから
create table test2(id int references test1(id),value int)
go
--最初のステップ:test 2テーブルの外部キー制約名を見つけます--2000
exec sp_helpconstraint 'test2'
--constraint_nameプロパティに外部キーコンストレイントの名前が見つかりました
--2005
select name  
from  sys.foreign_key_columns f join sys.objects o on f.constraint_object_id=o.object_id 
where f.parent_object_id=object_id('test2')
/*
name
---------------------------------
FK__test2__id__08EA5793*/
--ステップ2:外部キー制約alter table test 2 drop constraint FK__を削除test2__id__08EA5793 
--手順3:テーブルに外部キー制約があるかどうかを確認します.
--最初のステップの検索文を使用すればよい
sql  2005 
--alter table oa_forum drop constraint PK__oa_forum__3213E83F1CF15040
drop  table oa_forum
--exec sp_helpconstraint 'oa_forum'