2

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

识别 Sybase 表、字段、键、约束

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

我可能做错了什么?一些缺少的赠款?我已经安装了 Sybase ASE 15.5 并且正在与用户连接dbo,登录sa

4

1 回答 1

4

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

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

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

于 2011-09-04T15:36:40.193 回答