テーブルの列に外部キーが存在するかどうかを確認する簡単な方法はありますか?私は存在しない場合にのみ外部キーを追加するスクリプトを書いています。既存のFKにテーブルと右クリックを拡張し、「DROP TO」としてスクリプトキーを選択した場合、これを行うことができ、その後、あなたが生成されますSQL 2005に外部キーが存在するかどうかを確認する方法
IF EXISTS (SELECT *
FROM sys.foreign_keys
WHERE object_id = OBJECT_ID(N'[dbo].[FK_NAME]')
AND parent_object_id = OBJECT_ID(N'[dbo].[MyTable]'))
BEGIN
-- do stuff
END
:
このスクリプトは素晴らしい機能を備えています。私はあなたがメニューからそのようなものを脚本することができるとは信じられません。助けをしてくれてありがとう。 –
あなたはSQLの中の何かをちょうど右クリックするだけで、あなたのためのスクリプト、テーブル、ストアドプロシージャー、外部キーなどを生成できます。管理スタジオは、あなたができるクールな機能のいくつかを学ぶと、あなたの友人です。 – CodeLikeBeaker
このメソッドは、外部キーのデフォルト名が使用されている場合にのみ機能します。異なる名前付け規則に従う可能性のある他の人が作成したデータベースで作業している場合、特に前提に基づいて名前を処理することは信頼できません。 外部キーの名前を確認するのではなく、特定の列が別のテーブルの外部キーであるかどうかを確認する方法はありますか? –