如何在 z/OS 上的 DB2 10 中使用 ROW_NUMBER?
How do I use ROW_NUMBER in DB2 10 on z/OS?
我正在 运行 宁 SQL 查询并试图将结果分解成块。
select task_id, owner_cnum
from (select row_number() over(order by owner_cnum, task_id)
as this_row, wdpt.vtasks.*
from wdpt.vtasks)
where this_row between 1 and 5;
SQL 在 Windows 和 Linux 上与 DB2 10.5 一起工作,但在 z/OS 上的 DB2 10.1 上失败,并显示以下错误消息:
当我 运行 来自 IBM DataStudio 4.1.1 运行 的 SQL 在我的 Windows 机器上连接到数据库时,我得到:
ILLEGAL SYMBOL "<EMPTY>". SOME SYMBOLS THAT MIGHT BE LEGAL ARE: CORRELATION NAME. SQLCODE=-104, SQLSTATE=42601, DRIVER=4.18.60
当我在 zLinux 系统上 运行 我的 Java 程序连接到数据库时,出现以下错误:
DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=<EMPTY>;CORRELATION NAME, DRIVER=3.65.97
知道我做错了什么吗?
在某些 DB2 版本中,您必须为子选择使用相关名称,如错误消息所建议的那样:
select FOO from (
select FOO from BAR
) as T
这里"T"是关联名
我正在 运行 宁 SQL 查询并试图将结果分解成块。
select task_id, owner_cnum
from (select row_number() over(order by owner_cnum, task_id)
as this_row, wdpt.vtasks.*
from wdpt.vtasks)
where this_row between 1 and 5;
SQL 在 Windows 和 Linux 上与 DB2 10.5 一起工作,但在 z/OS 上的 DB2 10.1 上失败,并显示以下错误消息:
当我 运行 来自 IBM DataStudio 4.1.1 运行 的 SQL 在我的 Windows 机器上连接到数据库时,我得到:
ILLEGAL SYMBOL "<EMPTY>". SOME SYMBOLS THAT MIGHT BE LEGAL ARE: CORRELATION NAME. SQLCODE=-104, SQLSTATE=42601, DRIVER=4.18.60
当我在 zLinux 系统上 运行 我的 Java 程序连接到数据库时,出现以下错误:
DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=<EMPTY>;CORRELATION NAME, DRIVER=3.65.97
知道我做错了什么吗?
在某些 DB2 版本中,您必须为子选择使用相关名称,如错误消息所建议的那样:
select FOO from (
select FOO from BAR
) as T
这里"T"是关联名