Oracle查詢:新手甲骨文更新語句錯誤
UPDATE AIRMODEL_NETWORK_SUMMARY
SET CASES_PRODUCED = (SELECT DISTINCT PRDCTN_RUN_ACTL_CASE_QTY
FROM AIRMODEL_NETWORK_SUMMARY, HISTORY_PRODUCTION, PERIOD_TO_PROCESS
WHERE AIRMODEL_NETWORK_SUMMARY.FSCL_WK_IN_YR_NUM = HISTORY_PRODUCTION.FSCL_WK_IN_YR_NUM
AND AIRMODEL_NETWORK_SUMMARY.FSCL_YR_NUM = HISTORY_PRODUCTION.FSCL_YR_NUM
AND AIRMODEL_NETWORK_SUMMARY.LOC_ID = HISTORY_PRODUCTION.LOC_ID
AND HISTORY_PRODUCTION.FSCL_WK_IN_YR_NUM = PERIOD_TO_PROCESS.FSCL_WK_IN_YR_NUM
AND HISTORY_PRODUCTION.FSCL_YR_NUM = PERIOD_TO_PROCESS.FSCL_YR_NUM);
還是返回了以下錯誤:
ORA-01427: single-row subquery returns more than one row
在校的另一種嘗試:
MERGE INTO AIRMODEL_NETWORK_SUMMARY AIRMODEL_NETWORK_SUMMARY1
USING (SELECT DISTINCT PRDCTN_RUN_ACTL_CASE_QTY,
AIRMODEL_NETWORK_SUMMARY2.rowid AS r
FROM AIRMODEL_NETWORK_SUMMARY AIRMODEL_NETWORK_SUMMARY2
INNER JOIN HISTORY_PRODUCTION
ON AIRMODEL_NETWORK_SUMMARY2.FSCL_WK_IN_YR_NUM = HISTORY_PRODUCTION.FSCL_WK_IN_YR_NUM
AND AIRMODEL_NETWORK_SUMMARY2.FSCL_YR_NUM = HISTORY_PRODUCTION.FSCL_YR_NUM
AND AIRMODEL_NETWORK_SUMMARY2.LOC_ID = HISTORY_PRODUCTION.LOC_ID
INNER JOIN PERIOD_TO_PROCESS
ON HISTORY_PRODUCTION.FSCL_WK_IN_YR_NUM = PERIOD_TO_PROCESS.FSCL_WK_IN_YR_NUM
AND HISTORY_PRODUCTION.FSCL_YR_NUM = PERIOD_TO_PROCESS.FSCL_YR_NUM)
ON (AIRMODEL_NETWORK_SUMMARY1.rowid = r)
WHEN MATCHED THEN UPDATE
SET CASES_PRODUCED = PRDCTN_RUN_ACTL_CASE_QTY;
返回以下錯誤:
ORA-30926: unable to get a stable set of rows in the source tables
我是一個noob,需要幫助:(
謝謝。
我正在嘗試更新airmodel_network_summary中select列中的值時滿足條件的列。 – 2014-10-02 03:32:22