如何判断 DB2 中的表是否有主键?

Ben*_*Ben 9 db2 primary-key

我们使用的工具要求 DB2 数据库中的特定表定义主键。

有没有办法在数据库上使用 select 语句来查看给定的表是否有一个?

谢谢。

Rol*_*DBA 10

免责声明:我不知道 DB2。

我只是用“db2 表定义”搜索了这些。

来源:

SELECT * 
FROM SYSIBM.SYSTABLES TAB,SYSIBM.SYSCOLUMNS COL 
WHERE TAB.CREATOR = COL.TBCREATOR 
AND TAB.CREATOR = 'xxxx' 
AND TAB.NAME = 'xxxxxxxxxxxxx' 
AND TAB.NAME = COL.TBNAME 
AND TAB.TYPE = 'V' ( OR 'T' ) 
ORDER BY 1,2;
Run Code Online (Sandbox Code Playgroud)

来源:

SELECT * FROM syscat.tabconst WHERE type = 'P';
Run Code Online (Sandbox Code Playgroud)


Gov*_*las 8

你可以做一个db2look,它会给你表的ddls。

db2look -d db_name -e -x -z schema_name -t table_name
Run Code Online (Sandbox Code Playgroud)