2016-02-12 7 views
0

Я получаю эту ошибкуОшибка при обновлении Присоединяйтесь

Это моя Текущая ошибка: ORA-00971: отсутствует ключевое слово SET

UPDATE FGMULTI (JOIN arinvt ar 
ON fgmulti.arinvt_id = ar.id) 

SET NON_CONFORM_ALLOCATABLE = 'Y' 

WHERE IN_Date = CurrentDate 
    AND ar.Class LIKE 'CP%' 
    (OR ar.Class LIKE 'FG%' 
    OR ar.Class LIKE 'IN%' 
    OR ar.Class LIKE 'LA%' 
    OR ar.Class LIKE 'PK%') 
+0

Вам необходимо указать ваш код, или мы не можем вам помочь. –

+1

В следующий раз сообщите свой код, я все равно отправлю ответ. – scaisEdge

+0

Также, в следующий раз, когда вы отправляете код - не делайте этого на картинке. на самом деле скопировать/вставить запрос или код здесь. – NotMe

ответ

1

использовать обновление для выбора по присоединиться

UPDATE (select NON_CONFORM_ALLOCTABLE 
     from FGMULTI 
      JOIN arinvt ar 
      ON fgmulti.arinvt_id = ar.id 
     WHERE IN_Date = CurrentDate 
     AND ar.Class LIKE 'CP%' 
     OR ar.Class LIKE 'FG%' 
     OR ar.Class LIKE 'IN%' 
     OR ar.Class LIKE 'LA%' 
     OR ar.Class LIKE 'PK%') t 
SET t.NON_CONFORM_ALLOCATABLE = 'Y' 
+0

Я смотрю на вас код комментария «r», и у вас есть другая ошибка (не в том месте). У меня есть обновление asnwer, и если это правильно, отметьте его как принятое. – scaisEdge

+0

Я не вижу LEFT OUTER join .. .LEFT OUTER JOIN не работает, а просто присоединяется да .. я обновляю ответ – scaisEdge

+0

Пожалуйста .. если ответ, который я предоставил, вызвал ошибку или неправильный результат, покажите ошибку или неправильный результат ..not комментарий с новой командой sql в не может понять, что вы делаете .. без правильного объяснения – scaisEdge

0

Вы не можете использовать JOIN в Oracle в инструкции UPDATE. Вы можете сделать это с использованием и exists:

UPDATE FGMULTI 
    SET NON_CONFORM_ALLOCATABLE = 'Y' 
WHERE IN_Date = CurrentDate 
    AND exists (SELECT 1 
       FROM arinvt ar 
       WHERE fgmulti.arinvt_id = ar.id 
       AND (ar.Class LIKE 'CP%' 
       OR ar.Class LIKE 'FG%' 
       OR ar.Class LIKE 'IN%' 
       OR ar.Class LIKE 'LA%' 
       OR ar.Class LIKE 'PK%')); 
Смежные вопросы