sql >> データベース >  >> RDS >> Sqlserver

SQLServerデータベースで作成された主キー制約を持つすべてのテーブルを取得する方法-SQLServer/TSQLチュートリアル57

    シナリオ:

    あなたは自動車保険会社で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データベースのテーブルのリストを取得する-SQLServer/TSQLチュートリアル

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



    1. PostgreSQL9.3を使用した動的ピボットクエリ

    2. Oracleにシーケンスを含む複数の行を挿入する

    3. SQL Serverは、コンポーネント「OleAutomationProcedures」のプロシージャ「sys.sp_OACreate」へのアクセスをブロックしました

    4. ORACLE動的スプールロケーションでスプールを使用する方法