【发布时间】:2019-08-26 13:41:55
【问题描述】:
我需要使用 LEAD() 函数更新 Dimension 表中的 EDW_END_DATE 列,并且该表有 300 万条记录,Oracle 查询似乎一直在运行。
UPDATE
Edwstu.Stu_Class_D A
SET
EDW_END_DATE =
(
SELECT
Edw_New_End_Dt
FROM
(
SELECT
LEAD(Edw_Begin_Date-1,1,'31-DEC-2099') over ( PARTITION BY
Acad_Term_Code ,Class_Number Order By Edw_Begin_Date ASC) AS
Edw_New_End_Dt,
STU_CLASS_KEY
FROM
Edwstu.Stu_Class_D)
B
WHERE
A.STU_CLASS_KEY = B.STU_CLASS_KEY
);
【问题讨论】:
-
您的子查询返回快吗?
-
是的,它确实返回得很快
标签: sql oracle sql-update