Find tables without primary keys (PKs) in Db2 database

Query below lists tables in a database without primary keys.


select tab.tabschema as schema_name,
    tab.tabname as table_name
from syscat.tables tab
left outer join syscat.tabconst const 
    on const.tabschema = tab.tabschema 
    and const.tabname = tab.tabname and const.type = 'P'
    tab.type = 'T'
    and tab.tabschema not like 'SYS%'
    and const.constname is null


  • schema_name - schema name
  • table_name - table name


  • One row represents one table in a database
  • Scope of rows: all tables without primary keys in a database
  • Ordered by schema, table name

Sample results

Below is a list of tables in Microsoft System Center Configuration Manager database without primary keys. Is that a lot? Check out here.

Comments are only visible when the visitor has consented to statistics cookies. To see and add comments please accept statistics cookies.
There are no comments. Click here to write the first comment.