首页 > 解决方案 > 试图将表格的键分离成更好的格式

问题描述

我有这个查询,它可以让我得到表格的数据

SELECT 
    * 
FROM 
    mydatabase..systypes t, 
    mydatabase..syscolumns c 
LEFT JOIN 
    mydatabase..sysobjects obj ON c.id = obj.id 
LEFT OUTER JOIN 
    mydatabase.INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ON obj.NAME = pk.TABLE_NAME 
LEFT OUTER JOIN 
    mydatabase.INFORMATION_SCHEMA.KEY_COLUMN_USAGE cu ON c.NAME = cu.COLUMN_NAME 
WHERE 
    obj.id = c.id 
    AND t.xtype = c.xtype 
    AND obj.name = 'mytable' 
    AND obj.xtype = 'U' 
    AND (cu.CONSTRAINT_NAME IS NULL OR cu.CONSTRAINT_NAME LIKE 'PK_%' OR cu.CONSTRAINT_NAME LIKE 'UK_%') 
ORDER BY 
    c.colorder 

这将是作为外键/主键/唯一键的结果,但它没有指出复合键。

如何修改此查询以返回正确的详细信息?

标签: sql-server

解决方案


推荐阅读