在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;
完整查詢
帶有主鍵擴展的完整查詢如下:
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')
替換' YourTableName' 與您的實際表名稱以檢索所需的資訊。
以上是如何在 SQL Server 中擷取包含主鍵約束的資料列資訊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!