在 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
字段。