有人可以指出我如何编写查询以从不是主键或备用键的表中提取所有列名的方向。我特别想从我的查询中排除备用键。
最佳答案
DECLARE @tableName nvarchar(max) = 'table_name'
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = @tableName
EXCEPT
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS [tc]
JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE [ku] ON tc.CONSTRAINT_NAME = ku.CONSTRAINT_NAME
AND ku.table_name = @tableName
关于SQL Server 查询以列出表中除主键和备用键之外的所有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6602481/