在DB2 v10 for z / os的查询中,我需要从实时生产线中提取数据,因此我无法对其进行任何锁定。这种情况下的准确性仅次于锁定数据,因为锁定数据对于生产来说非常糟糕。我的目标是做这样的事情:
INSERT INTO newTable
SELECT a, b, c
FROM (SELECT d, e, f
FROM tableB b
FOR FETCH ONLY WITH UR)
我已经尝试了所有我能想到的事情,但似乎每当我将代码置于FROM语句中时,它就会在“FOR FETCH ONLY WITH UR”上给出一个错误,即使它之前没有当相同的代码在其他地方。当我把“FOR FETCH ONLY with UR”或者只是“WITH UR”时我得到的错误通常是SQLCODE -199“ILLEGAL USE FOR FOR / WITH .....”
我也尝试过这样的事情:
INSERT INTO newTable
WITH tableA AS (
SELECT d, e, f
FROM tableB b
FOR FETCH ONLY WITH UR
)
SELECT a, b, c
FROM tableA
但到目前为止我还没有找到一种方法来指定WITH UR或者没有锁定tableB中的数据,同时能够将它用于处理并将其放入newTable中。我做错了什么,甚至可以做我想做的事情?
先谢谢