SELECT [name]
FROM syscolumns
WHERE [id] IN (SELECT [id]
FROM sysobjects
WHERE [name] = 'ACTIVITY')
AND colid IN (SELECT SIK.colid
FROM sysindexkeys SIK
JOIN sysobjects SO ON SIK.[id] = SO.[id]
AND SO.[name] = 'ACTIVITY')
它通过id返回所有列。我只需要主键。当我添加以下行时,它是空的:通过查询获取表主键列
WHERE SIK.indid = 1
这是为什么?还有其他方法可以做同样的事情吗?因为我在抢
'indid = 1'只会提供有关表上聚簇索引的信息(如果有)。不能保证主键和聚簇索引是相同的东西。 – 2011-03-17 10:07:06