所以,我有我試圖改變成一個INSERT插入不返回正確價值觀
這裏有更新的原始更新語句(它需要長期進行大批量生產)
DECLARE
BEGIN
UPDATE TOCTASK_ORIG TASKO
SET c_ocactvty_childactiviti = 11200,
i_ocactvty_childactiviti =
(SELECT PROI.I
FROM TOCPROCESSINSTANCE PROI,
TOCSERVICEREQUEST SR
WHERE TASKO.c_occontbs_tasks = 11011
AND TASKO.i_occontbs_tasks = SR.I
AND PROI.C_PROCESSIServiceRe = SR.C
AND PROI.I_PROCESSIServiceRe = SR.I
)
WHERE EXISTS
(SELECT 1
FROM TOCPROCESSINSTANCE PROI,
TOCSERVICEREQUEST SR
WHERE TASK.c_occontbs_tasks = 11011
AND TASK.i_occontbs_tasks = SR.I
AND PROI.C_PROCESSIServiceRe = SR.C
AND PROI.I_PROCESSIServiceRe = SR.I
);
COMMIT;
END;
從研究網上最好的辦法是改寫這個可以插入,使沿我在這裏做的方式
的變化是爲INSERT
SELECT子句0問題是我目前在原始表中有110302條記錄,但是當我將插入運行到一個新的臨時表時,它只創建了19,269條記錄。這個數字相匹配的WHERE子句中,19,269現在應該匹配PROI.I值的第二部分,其餘部分爲空
AND PROI.C_PROCESSIServiceRe = 11011
AND PROI.I_PROCESSIServiceRe = SR.I
問題是正在創建沒有其他記錄,它只是簡單地創建了19,269記錄和停止
任何幫助將是巨大的
以上信息:寫INNER JOIN逗號istead。它的ANSI標準,將更容易爲您和所有其他人閱讀 –