我使用IBM Data Server Manager中的SQL Editor对DB2执行查询。所讨论的查询工作正常。但是,当我单击"Explain"以生成访问计划时,我得到
"无法生成访问计划图"
,诊断文本为
SQL语句失败。解释:SQL语句导致SQLCODE: -204和SQLSTATE: 42704错误。用户反应:DB2文档包含有关SQLCODE的更多信息解决错误。"DB2ADMIN。"TABLENAME"是一个未定义的名称。SQLCODE=-204, SQLSTATE=42704, DRIVER=3.66.46
查询类似于
select col1, col2 from tablename where pred=value
为什么会失败?需要改变什么?
错误码-204提示不知道表名("undefined name")。看起来,即使查询在不使用完全限定名(schemaname.tablename)的情况下成功运行,IBM Data Server Manager中的解释功能也需要全名才能工作。
将查询更改为"select col1, col2 from schemaname. "Tablename where pred=value"导致解释成功,并显示了访问计划的漂亮图形。