2014-10-28 57 views
0

我有一個要求從2個表中讀取,一旦讀取,我必須更新兩個表上的falg。用2個表上的連接更新SQL查詢

我的SQL查詢

SELECT t1.KUNNR,t1.SETT_KEY,t1.QUART_START,t1.QUART_END,t2.PAY_METH,t2.MAT_NDC,t2.AMOUNT 
FROM TSAP_REBATE_MEDI t1 
INNER JOIN TSAP_REBATE_LINE t2 ON t1.KUNNR=t2.KUNNR AND t1.SETT_KEY=t2.SETT_KEY 
WHERE t1.PROCESSING_STATUS = 'N' AND t2.PROCESSING_STATUS = 'N' 

這是工作的罰款,現在我需要在那裏PROCESSING_STATUS設置爲「P」兩個表上相同的更新查詢。

+0

包裹這兩個更新你真的應該確定你所使用的數據庫。 MySQL,SQL Server和Oracle是三個完全不同的產品。 – 2014-10-28 18:26:08

+0

對不起,我已經改變了..我使用oracle數據庫 – 2014-10-28 18:46:13

回答

0

您不能同時更新兩個表。運行以下性質的兩個獨立UPDATE聲明

UPDATE t1 
SET COLUMN = VALUE 
FROM TSAP_REBATE_MEDI t1 
INNER JOIN TSAP_REBATE_LINE t2 
    ON t1.KUNNR=t2.KUNNR 
    AND t1.SETT_KEY=t2.SETT_KEY 
WHERE t1.PROCESSING_STATUS = 'N' 
    AND t2.PROCESSING_STATUS = 'N' 
    /* Add any other conditions */ 

但是,如果你想讓他們都被更新(或沒有一個),在BEGIN TRANSACTION - COMMIT

+0

其拋出的錯誤命令沒有正確結束,它是一個ORACLE DB – 2014-10-28 18:33:05