SQL错误:SQLCODE = -204,SQLSTATE = 42704,SQLERRMC = SYSCAT.COLUMNS,DRIVER = 3.54.54

时间:2016-09-16 17:05:38

标签: sql db2 db2-luw

您好我正在尝试查找db2表的列数。我有架构名称和表名称详细信息。 试过

select COUNT(*) from SYSCAT.COLUMNS  WHERE TABNAME = 'ABC' and TABSCHEMA='XYZ'

AND

SELECT COUNT(*) FROM sys.columns WHERE object_id = OBJECT_ID('ABC')

但不幸的是,他们两个都在抛出错误。

我在查找db2数据库中表的列数时需要提出建议

2 个答案:

答案 0 :(得分:0)

您好,我终于可以通过将查询修改为

来解决此问题

select count(*) from sysibm.syscolumns where tbname = 'ABC' and TBCREATOR = 'XYZ'

其中TBCREATOR是模式名称,tbname是表名。

答案 1 :(得分:0)

此代码适用于系统i(AS400 ...)

 select * from qsys2.syscolumns                              
 where COLUMN_NAME='YOURCOLUMNNAME'                          
 and TABLE_NAME='YOURTABLENAME' and TABLE_SCHEMA='YOURLIB'