命令知道表在sybase中有一个主键和表名

时间:2015-02-08 04:26:46

标签: sybase sybase-ase

我正在使用sybase,因为我是sybase的新用户之前我已经使用了oracle现在我有一个数据库,其中包含许多sybase中的表,现在有一个名为tarty的表,现在可以告诉我可以执行的命令在sybase中知道是否有任何主键存在于tarty表中。

这里我得到了解决方案..

select name     
from sysindexes
where indid > 0
and status2 & 2 = 2

你还能告诉我,我想要列出的表名也是如此,例如上面的命令只显示主键我希望主键加上表名也要列出,这样我才能知道这个主键属于此表请告知我需要做哪些必要的更改才能实现此目的..!

1 个答案:

答案 0 :(得分:1)

包含表名很简单:

select name, object_name(id) as table_name
from sysindexes 
where indid > 0
and status2 & 2 = 2

有关相关讨论,另请参阅“SQL query to get primary keys for all tables in sybase ase 15.x along with column names”。有一个目录查询sp_pkeys,它包含在ASE中,您可以使用或借用。