【发布时间】:2014-03-16 11:45:01
【问题描述】:
我正在构建一个更新查询。
但由于无用的重复“With”语句似乎很混乱。
你有什么想法让它更短吗?
示例查询如下。
UPDATE TABLE1
SET C1 = (
WITH W_VIEW AS
(
SELECT *
FROM TABLE1
)
SELECT C_VALUE
FROM W_VIEW
WHERE ROWNUM = 1
)
WHERE C2 IN (
WITH W_VIEW AS
(
SELECT *
FROM TABLE1
)
SELECT C2_VALUES
FROM W_VIEW
WHERE STH < 10
);
我只想使用一次 W_VIEW。
例如,
WITH W_VIEW AS
(
SELECT *
FROM TABLE1
)
UPDATE TABLE1
SET C1 = (SELECT C_VALUE FROM W_VIEW WHERE ROWNUM = 1)
WHERE C2 IN (SELECT C2_VALUES FROM W_VIEW WHERE STH < 10)
。 如果该查询有效,我会很高兴:)
【问题讨论】:
标签: sql oracle sql-update with-statement