在Sybase ASE中,我想发现所有主键和唯一键。我想做一些类似于这个答案中解释的内容:
Identifying Sybase tables, fields, keys, constraints
但不幸的是,这对我不起作用。不知何故,syskeys
表确实为我自己的键返回任何行,仅用于系统表键。
我可能做错了什么?一些遗失的补助金?我已安装Sybase ASE 15.5并且我正在与用户dbo
建立连接,登录sa
答案 0 :(得分:3)
当您明确声明关键字段时 - 例如在CREATE TABLE
语句中 - 此不会填充syskeys
表。您可以使用(例如)sp_primarykeys
来执行此操作。这允许您在syskeys
表中“注册”您希望应用程序可以发现的主键,外键等。您可以通过这种方式声明主键,即使在相关字段上没有强制实施约束。
存储过程sp_helpconstraint
可用于查找为表定义的所有密钥(等)。
要查询数据库中的所有表格,您需要使用sysindexes
table并查看,例如status
字段。