0

これにはもっと速い方法があるのだろうか:

「ManagementStudioを開いていて、目の前に列のたてがみがあるDbテーブルがあります。FK_SomeTableフィールドがForeignKeyであることはわかっていますが、どのテーブルのFKかはわかりません。それを学ぶ必要があります。 。」

それで、通常、私はそのテーブルの「関係」を開き、非常に狭いウィンドウで囲まれたリストを1つずつ調べて、そこで見つけようとします。これは、退屈で時間の無駄です。

システムテーブルにもクエリを実行したくありません。

より良い、より迅速な方法はありませんか?あるはずですよね?

ありがとう

4

3 に答える 3

1

このクエリはどうですか?クエリウィンドウに切り替えて、すばやく実行できます。

SELECT
    name,
    OBJECT_NAME(parent_object_id) 'Parent Table',
    OBJECT_NAME(referenced_object_id) 'Referenced Table'
FROM sys.foreign_keys

FK名と、関連する2つのテーブルを示します。

sys.foreign_key_columns必要に応じて、列情報を提供するシステムカタログビューもあります。

于 2009-12-15T15:59:23.103 に答える
0

データベースダイアグラムをオンにすると、複数のテーブルの関係を同時に作成および変更できます。データベース図は、選択された各テーブルの視覚的表現を示し、複数の図を定義できます。私の知る限り、システムテーブルをクエリせずに関係情報を取得する方法はないと思いました。

于 2009-12-15T15:41:44.337 に答える
0

さて、私は通常、オブジェクトエクスプローラーを使用して、必要なテーブルに移動し、[キー]の下を確認します。オブジェクトエクスプローラーを広げて、キーのフルネームを表示できます。適切な名前が付けられている場合は、主キーテーブルと外部キーテーブルの両方のテーブル名が含まれている可能性があります。そうでない場合は、スクリプトで確認できます。すべての変更をスクリプト化するときにデザインウィンドウを使用することは決してないため、あなたが話しているこの関係ウィンドウを見つけるために検索する必要がありました。

于 2009-12-15T15:51:23.537 に答える