Sql 为什么FETCH前N行不能与with语句结合使用?
我有以下SQL语句,它不在我的DB2数据库上运行:Sql 为什么FETCH前N行不能与with语句结合使用?,sql,db2,fetch,db2-zos,Sql,Db2,Fetch,Db2 Zos,我有以下SQL语句,它不在我的DB2数据库上运行: WITH a AS ( SELECT * FROM sysibm.systables ) SELECT a.* FROM a FETCH FIRST 10 ROWS 如果没有FETCH语句,它就可以工作。我收到的错误消息是: 非法使用关键字优化、令牌错误 WNG_STMT获取SQL存储点保留自由 这是我的预期 有什么建议吗 FETCH子句末尾缺少关键字 WITH a AS ( SELECT * FROM sysibm.syst
WITH a AS (
SELECT * FROM sysibm.systables
)
SELECT a.* FROM a
FETCH FIRST 10 ROWS
如果没有FETCH语句,它就可以工作。我收到的错误消息是:
非法使用关键字优化、令牌错误
WNG_STMT获取SQL存储点保留自由
这是我的预期
有什么建议吗 FETCH子句末尾缺少
关键字
WITH a AS (
SELECT * FROM sysibm.systables
)
SELECT a.* FROM a
FETCH FIRST 10 ROWS ONLY;
结尾缺少唯一的关键字。示例。虽然您给出的示例可能已简化,但将fetch first子句放在第一个select部分如何
我永远无法清楚地阅读文档,但是由于with语句创建了一个公共表表达式,因此您可能无法在选择时使用fetch first子句。根据,在with语句的select中使用fetch first子句是有效的语法
i、 e
谢谢你的回答。我只是忘了只复制关键字。如果我添加它,查询仍然不起作用!相同的错误消息。我只是忘了在这里复制。我在原始语句中使用了它,但查询不起作用。我感觉它与WITH
子句有关。
WITH a AS (
SELECT * FROM sysibm.systables
FETCH FIRST 10 ROWS ONLY
)
SELECT a.* FROM a;