2017-01-26 5 views
2

私の以前に質問された質問:データベースの自動生成された外部キーをすべて取得しようとしています。自動生成された外部キー名をすべて取得する方法は?

私の場合(SQL Server 2014の一般的な動作でなければなりません)、生成されたすべての外部キー制約にはFK__TableFrom__TableTo__1F63A897のような名前があり、キー名(1F63A897)の末尾は自動生成されます。そして、外部キーの名前はすべてFK__TableFrom__TableToです。だから私はキーの名前の末尾にランダムな文字列ですべての外部キーをターゲットにする必要があります

私はLIKE演算子で試しましたが、私の目標を達成することはできません。

最も好ましい出力は次のようになります。

SCHEMA_NAME  | TABLE_NAME  | FOREIGN_KEY_NAME 
-------------------------------------------------------- 
...    | ...    | ID 
...    | ...    | ID 
...    | ...    | ID 
...    | ...    | ID 
...    | ...    | ID 
...    | ...    | ID 
...    | ...    | ID 

答えて

6

あなたは簡単にこのためsys.foreign_keysカタログ・ビューを参照してくださいすることができます

SELECT * 
FROM sys.foreign_keys 
WHERE is_system_named = 1 

これは、「システムの名前ですすべて外部キー制約を返します。 "、例えばここでは、それらを作成するときに明示的な制約名を指定しませんでした。

+0

これは決してわかりません。 –

関連する問題