【发布时间】:2012-06-12 15:32:58
【问题描述】:
我在文本文件中有一个 3k ID 的列表。我应该找到具有此类 ID 的行并更新它们。 我希望能像
WITH RECORD_ID
(ID) AS (
'12345',
...
'32134')
UPDATE MY_TABLE T
SET T.NAME = REPLACE(T.NAME, X'03', '')
WHERE EXISTS (SELECT 1 FROM RECORD_ID R WHERE R.ID = T.ID);
但这不起作用。任何的想法?
【问题讨论】:
-
“不起作用”怎么办?我不熟悉 z-os 版本,但 CTE 在我的 i-os DB2 中似乎无效。如果您正在构建 CTE,为什么不将 id 列表放在
IN(...)子句中? -
我认为如果你有 3000 条记录的列表,IN 会很慢。并寻求更快的更新。