ホームページ >データベース >mysql チュートリアル >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 サイトの他の関連記事を参照してください。