私は、コマンドの下に使用して一つのテーブル作成しました:制約の名前を知らずに外部キーを削除しますか?
create table Table1(
Id int Not Null
Foreign key
references Table2(Id)
on delete cascade
on update cascade,
UserName nvarchar(150),
TimeInSeconds int Not Null
primary key(Id,TimeInSeconds)
);
をしかし、今、私は外部キーをドロップします。私は与えられた制約名をhaventは通り 私が使用しカント:
Alter table <tablename>
drop foreign key <foreign key name>
は、どのような方法はありますか? Plsヘルプ。
+1。クイックドロー。私は行っていました:select * from syscontraints xtype = 'F'、名前は '%table1%'のようになります –
同じスキーマを持つ複数のデータベースにリリースするスクリプトでこれを行うと、この制約は、データベースの各インスタンスごとに異なる可能性がありますか?その場合、これは機能しません。 – Peter
@Peter、理想的には名前付き制約がありますが、そうでない場合でもスクリプト実行時に名前を取得できます。問題はありません。 –