在 DB2/400 v7r2 及更高版本上使用 OLAP 更新

问题描述 投票:0回答:0

希望你对这个问题有想法......? 首先是关于环境的信息 i5 上的 DB2,OS V7R2 及更高版本,带有最新的 PTF

让我们假设有一张表包含关于任何带有拆分信息的请求的一些信息:

  • 结构与外部和
  • 内部信息 有一些专栏。

=> 外部结构可能会出现相同内容的重复甚至多次出现。 => 在异步过程中添加具有初始值的行后必须修改内部结构 - 不会被触发器观察到!

在某些应用程序中输入数据时,同一行的内部和外部结构都填充了值。 稍后,一行中的内部结构必须显示不同的值,以便在处理为完整条目时,行将变得“唯一”(包含每行所有列的值总和)! 我选择只在一列 bcs 中使用 GENERATE_UNIQUE() 我不关心在最终处理请求开始进入之前内部结构中填充了什么内容。

请:这个考虑是一个固定的要求,不要求使用任何可能更好的处理方法的建议。 唯一的问题是:最后的 SQL 语句有什么问题?

感谢所有分析本项目底部 SQL 语句的贡献者,她我们走了:

记录描述是 内部结构 int_aa int_bb int_cc 外部结构 ext_a ext_b 分机号

修改/操作前可能的内容(行入表时的初始状态) | int_aa | int_bb | int_cc | ext_a |分机b | ext_c | | ------ | ------ | ------ | ------ | ------ | ------ | | 000000 | 111111 | 222222 |桑迪 |得克萨斯 |可乐 | | 010101 | 020202 | 303030 |桑迪 |得克萨斯 |可乐 | |空 |空 |没什么 |桑迪 |得克萨斯 |可乐 | |吧台 |酒吧 |嘘声 |姜戈 |柏林 |香肠 | |索姆瓦尔 |索姆瓦尔 |索姆瓦尔 |姜戈 |柏林 |啤酒 | |索姆瓦尔 |索姆瓦尔 |索姆瓦尔 |姜戈 |柏林 |啤酒 |

这以后应该变成 | int_aa | int_bb | int_cc | ext_a |分机b | ext_c | | ------ | ------ | ------ | ------ | ------ | ------ | | 000000 | 111111 | 222222 |桑迪 |得克萨斯 |可乐 | |空 |人民币 | 0802E1 |桑迪 |得克萨斯 |可乐 | |空 |人民币 | 0686E2 |桑迪 |得克萨斯 |可乐 | |吧台 |酒吧 |嘘声 |姜戈 |柏林 |香肠 | |索姆瓦尔 |人民币 |索姆瓦尔 |姜戈 |柏林 |啤酒 | |空 |人民币 | 1234E3 |姜戈 |柏林 |啤酒 |

This statement is which I tried and which always throw the msg at the end ...这有什么问题???

db2 "UPDATE newrequests AS u
  SET u.int_aa='', 
      u.int_bb='rcy', 
      u.int_cc=HEX(GENERATE_UNIQUE())
WHERE rptid='INVOICE_FR' AND
(SELECT 
  ROW_NUMBER() OVER 
    (PARTITION BY 
      ext_a,
      ext_b,
      ext_c 
    ORDER BY 
      LENGTH(ext_a),
      ext_a,
      ext_b,
      ext_a
    ) AS rn
  FROM newrequests AS r
  WHERE
    r.ext_a=u.int_aa,
    r.ext_b=u.int_bb,
    r.ext_c=u.int_cc
)>1"

**** 命令行错误 *****
SQLSTATE:42601
本机错误代码:-104
令牌,无效。有效标记:).

不仅搜索了 stackoverflow,还搜索了处理 OLAP 的在线资源,而不仅仅是特定于 IBM

duplicates db2 olap
© www.soinside.com 2019 - 2024. All rights reserved.