0
私は2つのテーブル、プロセス(PK Process_Id)
とPROCESS_STAGE(PK Stage_Id, FK Process_Id)
でデータベースを持っています。Microsoft SQL Server Management Studioでリレーショナルの外部キー制約を適用する方法は?
は、少なくとも私はこれを設定していると思う - 私が持っている外部キー関係ダイアログボックスで
- 外部キーベーステーブル:PROCESS_STAGE、
- 外部キー列:
Process_Id
、 - プライマリ/ユニークキーベーステーブル:プロセス,
- プライマリ/ユニークキー列:
Process_Id
。
また、私はレプリケーションのために強制を設定し、外部キー制約を「はい」に設定しました。何
は私が行う必要があるプロセス PROCESS_STAGEからの参照を持っているから
- 削除項目:
しかし、私はまだこの関係を壊し、次のことを行うことができますこれを修正しますか?
ありがとうございます!これでも失敗する場合
私はこの@gbnを試しましたが、私はこのエラーを取得保管: メッセージ547、レベル16、状態0、行1 をALTER TABLEステートメントは、FOREIGN KEY制約 "FK_PROCESSTAGE_PROCESS"と競合しました。競合は、データベース "A_A"、テーブル "dbo.PROCESS"、列 "Process_Id"で発生しました。 データベースのテーブルツリーに「dbo。*」という名前のテーブルしか表示されないため、正しいテーブルを使用する必要があります。 – deed02392
@ deed02392:あなたがdboしか持っていないなら、これは良いことです。 GUIを使用しているときに同じエラーが発生していると思われます。これは私が上記のようなSQLを発行します。 FKは決して作成されないので失敗する – gbn
わからないのですか?すでに存在しているために作成できないと示唆しているようですが、どこにも表示されません。そうした場合、関係を壊すレコードを削除できないはずです。 – deed02392