我想使用TSQL(存储过程或系统表可以)确定表的主键.SQL Server(2005或2008)中是否有这样的机制?

推荐答案

这应该让你开始:

SELECT 
    *
FROM 
    INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
    JOIN 
    INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE ccu 
        ON tc.CONSTRAINT_NAME = ccu.Constraint_name
WHERE 
    tc.TABLE_NAME = 'TableName' AND 
    tc.CONSTRAINT_TYPE = 'Primary Key'

Sql相关问答推荐

如何在SQL Server中列出从当前月份开始的过go 10年中的月份

为什么在这种情况下我不能使用LAG函数?

Android房间fts4匹配语法AND OR

仅在特定字符串之后提取两个圆括号之间的计量单位文本

Oracle 23c ROUND,数据类型为DATE

如何简化此PostgreSQL查询以计算平均值?

PostgreSQL-按距离阈值挤压相邻行的性能

TSQL如何为群分配号码

使用递归CTE在BigQuery中获取文件路径

在 PostgreSQL 中生成时间序列查询

当 ansible 变量未定义或为空时,跳过 sql.j2 模板中的 DELETE FROM 查询

复制行并根据 Oracle SQL 中其他表的值更改值

汇总具有连续日期范围的行

使用 SQL 计算一年中任意 3 个月期间的总成本

MariaDB非常简单的MATCHAGAINST查询不使用FULLTEXT索引吗?

使用日期和间隔作为键加入 Athena 上的表?

Select 字段,除非另一个字段包含重复项

为每组填写行以进行旋转

除以表中的几个元素

获取第一次约会或间隔后的第一次约会