1
我正在構建更新查詢。如何使用「With」語句更短地在Oracle中進行更新查詢?
但由於無用的重複「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)
。 我會很高興,如果該查詢工作:)
謝謝!但是缺少選擇關鍵字錯誤,ORA-00928,發生。 ; - < – JeongjinKim