ホームページ >データベース >mysql チュートリアル >SQL Server で主キー制約を含む列情報を取得する方法

SQL Server で主キー制約を含む列情報を取得する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-03 22:42:391007ブラウズ

How to Retrieve Column Information Including Primary Key Constraints in SQL Server?

SQL Server で主キー制約を使用した列情報の取得

テーブル内の列のリストとそのデータ型および NOT NULL の取得制約は一般的なタスクです。ただし、どの列が主キーであるかを決定する必要がある場合もあります。この記事では、既存のクエリを拡張してこの情報を含める方法について説明します。

拡張クエリ

主キー情報をクエリに組み込むには、次の拡張機能を使用します。

LEFT OUTER JOIN sys.index_columns ic
ON ic.object_id = c.object_id AND ic.column_id = c.column_id
LEFT OUTER JOIN sys.indexes i
ON ic.object_id = i.object_id AND ic.index_id = i.index_id

追加の列

この拡張機能は追加します出力への追加列。予想される出力では「主キー」として示されます。

Column Name Data Type Length isNull Primary Key
... ... ... ... ...

列が主キーの場合、「主キー」列には TRUE が表示されます。それ以外の場合は、FALSE が表示されます。

完全なクエリ

主キー拡張子を含む完全なクエリは次のとおりです:

SELECT 
    c.name 'Column Name',
    t.Name 'Data type',
    c.max_length 'Max Length',
    c.precision ,
    c.scale ,
    c.is_nullable,
    ISNULL(i.is_primary_key, 0) 'Primary Key'
FROM    
    sys.columns c
INNER JOIN 
    sys.types t ON c.user_type_id = t.user_type_id
LEFT OUTER JOIN 
    sys.index_columns ic ON ic.object_id = c.object_id AND ic.column_id = c.column_id
LEFT OUTER JOIN 
    sys.indexes i ON ic.object_id = i.object_id AND ic.index_id = i.index_id
WHERE
    c.object_id = OBJECT_ID('YourTableName')

Replace ' YourTableName' を実際のテーブル名に置き換えて、必要な情報を取得します。

以上がSQL Server で主キー制約を含む列情報を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。