发现Sybase ASE中的主键/唯一键

时间:2011-09-04 13:37:16

标签: sql sybase-ase sysobjects

在Sybase ASE中,我想发现所有主键和唯一键。我想做一些类似于这个答案中解释的内容:

Identifying Sybase tables, fields, keys, constraints

但不幸的是,这对我不起作用。不知何故,syskeys表确实为我自己的键返回任何行,仅用于系统表键。

我可能做错了什么?一些遗失的补助金?我已安装Sybase ASE 15.5并且我正在与用户dbo建立连接,登录sa

1 个答案:

答案 0 :(得分:3)

当您明确声明关键字段时 - 例如在CREATE TABLE语句中 - 此不会填充syskeys表。您可以使用(例如)sp_primarykeys来执行此操作。这允许您在syskeys表中“注册”您希望应用程序可以发现的主键,外键等。您可以通过这种方式声明主键,即使在相关字段上没有强制实施约束。

存储过程sp_helpconstraint可用于查找为表定义的所有密钥(等)。

要查询数据库中的所有表格,您需要使用sysindexes table并查看,例如status字段。