シナリオ:
あなたは自動車保険会社でSQLServer開発者/SQLServerDBAとして働いています。スキーマ名、列名、および主キー制約が作成されている主キー制約を持つすべてのテーブルのリストを返すクエリを提供するように求められます。解決策:
この情報を取得する方法は複数あります。システムビューを使用して、SQLServerデータベースの主キー制約を持つすべてのテーブルを取得します。Select TC.Table_Catalog as DatabaseName, TC.Table_Schema AS TableSchema, TC.Table_Name AS TableName, CCU.Column_Name AS ColumnName, TC.Constraint_Name AS ConstraintName From information_Schema.Table_Constraints TC INNER JOIN Information_Schema.constraint_column_usage CCU on TC.Constraint_Name=CCU.Constraint_Name and TC.Table_Name=CCU.Table_Name where Constraint_Type='PRIMARY KEY'
テストデータベースの1つで上記のクエリを実行しました。これが、主キーの制約があるテーブル名を使用した結果です。

ビデオデモ:SQLServerデータベースの主キー制約のリストを取得