如何在SQL Server中获取具有复合主键的表列表?

问题描述 投票:6回答:2

如何创建一个查询,该查询为我提供了SQL Server中具有复合主键的表的列表?也许使用sys.tables或information_schema.tables或其他?

sql-server-2008
2个回答
3
投票

您必须使用eigher架构表或列表。就这个。

SELECT K.TABLE_CATALOG, 
   K.TABLE_NAME, 
   K.COLUMN_NAME, 
   K.ORDINAL_POSITION     FROM   INFORMATION_SCHEMA.KEY_COLUMN_USAGE K 
   INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS TC 
     ON K.TABLE_CATALOG = TC.TABLE_CATALOG 
        AND K.TABLE_SCHEMA = TC.TABLE_SCHEMA 
        AND K.CONSTRAINT_NAME = TC.CONSTRAINT_NAME 
WHERE TC.CONSTRAINT_TYPE = 'PRIMARY KEY' 

请参阅链接 - Retrieving column information (composite key) in SQL

http://blog.sqlauthority.com/2007/09/04/sql-server-2005-find-tables-with-primary-key-constraint-in-database/

© www.soinside.com 2019 - 2024. All rights reserved.