在 Sybase ASE 中,我想发现所有主键和唯一键。我想做一些类似于这个答案中解释的事情:
但不幸的是,这对我不起作用。不知何故,该syskeys表确实为我自己的键返回任何行,仅用于系统表键。
我可能做错了什么?一些缺少的赠款?我已经安装了 Sybase ASE 15.5 并且正在与用户连接dbo,登录sa
在 Sybase ASE 中,我想发现所有主键和唯一键。我想做一些类似于这个答案中解释的事情:
但不幸的是,这对我不起作用。不知何故,该syskeys表确实为我自己的键返回任何行,仅用于系统表键。
我可能做错了什么?一些缺少的赠款?我已经安装了 Sybase ASE 15.5 并且正在与用户连接dbo,登录sa
当您显式声明一个关键字段时 - 例如在CREATE TABLE语句中 - 这不会填充syskeys表。你会使用(例如)sp_primarykeys来做到这一点。这允许您在syskeys表中“注册”您希望应用程序发现的主键、外键等。您可以通过这种方式声明主键,即使没有对相关字段强制执行实际约束。
存储过程sp_helpconstraint可用于查找为表定义的所有键(等)。
要查询数据库中的所有表,您需要使用sysindexes 表并查看,例如该status字段。