2

如何找到表的主键列名和值?我尝试查看 SYSCAT 表,但在此找不到任何内容。

4

4 回答 4

2

这应该为您提供大型机所需的内容:

http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/DSNSQH11/E.8?DT=20010718164132

DB2 10 Z/OS:

功能:

SQLPrimaryKeys()

http://www.ibm.com/support/knowledgecenter/SSEPEK_10.0.0/odbc/src/tpc/db2z_fnprimarykeys.html

于 2012-08-08T06:11:33.667 回答
1
SELECT TBCREATOR,
       TBNAME,
       NAME,
       KEYSEQ

FROM SYSIBM.SYSCOLUMNS

WHERE TBCREATOR = 'DBSCHEMA'
  AND TBNAME = 'TABLE_NAME'
  AND KEYSEQ > 0

ORDER BY KEYSEQ
于 2014-01-21T02:00:52.760 回答
0

您尝试使用 Java/Perl 等编程语言或 db2 命令行来执行此操作吗?

于 2012-08-08T21:35:14.463 回答
0

使用以下查询列出数据库上的所有主键和外键:

select tbname, pkcolnames, fkcolnames from sysibm.sysrels 

对于特定的表,只需限制查询:

select tbname, pkcolnames, fkcolnames from sysibm.sysrels where tbname='<table name>'

我在以下位置找到了这些信息:

http://database.ittoolbox.com/groups/technical-functional/db2-l/how-to-find-a-primary-keys-and-foreign-keys-in-a-db2-table-268422

于 2013-07-24T20:08:55.477 回答