java. sql .SQLException: [SQL0104] Token не был действительным. Действительные токены:) ИЛИ - PullRequest
0 голосов
/ 06 февраля 2020

Возникает исключительная ситуация SQL при выполнении запроса ниже в базе данных db2.

UPDATE TRINITI.T_PARENT_LOTS_API
  SET     ACTION_CODE           = TXN_CODE19_18_FROP4000_TO4000.TXN_CODE19_18_FROP4000_TO4000_TMDV_TXN_CMD,
          NEW_FACTORY_NAME      = TXN_CODE19_18_FROP4000_TO4000.TXN_CODE19_18_FROP4000_TO4000_TMDV_SHIP_TO_CD,
          OLD_OPERATION         = '' '',
          NEW_OPERATION         = '' '',
          NEW_TXN_QTY           = TXN_CODE19_18_FROP4000_TO4000.TXN_CODE19_18_FROP4000_TO4000_TMDV_TXN_QTY2,
          TRANSFER_FACTORY_NAME = TXN_CODE19_18_FROP4000_TO4000.TXN_CODE19_18_FROP4000_TO4000_TMDV_TRANSFER_FACTORY_NAME,
          SUBINV_CODE           = TXN_CODE19_18_FROP4000_TO4000.TXN_CODE19_18_FROP4000_TO4000_TMDV_SUBINV_CODE,
          TRANSFER_SUBINV_CODE  = TXN_CODE19_18_FROP4000_TO4000.TXN_CODE19_18_FROP4000_TO4000_TMDV_TRANSFER_SUBINV_CODE,
          NEW_BOM_LEVEL         = '' DBK '',
          NEW_UOM_CODE          = TXN_CODE19_18_FROP4000_TO4000.UOM
Where      TRINITI.T_PARENT_LOTS_API.ACTION_CODE Is null
  And     ((TRINITI.T_PARENT_LOTS_API.OLD_STATE_ID = '18' And     
            TRINITI.T_PARENT_LOTS_API.NEW_OPERATION = '4000' And     
            TRINITI.T_PARENT_LOTS_API.OLD_OPERATION = '4000' And     
            TRINITI.T_PARENT_LOTS_API.COMMENTS = 'SHIP')
   Or      (TRINITI.T_PARENT_LOTS_API.OLD_STATE_ID = '19'
            And      TRINITI.T_PARENT_LOTS_API.NEW_OPERATION = '4000'
            And      TRINITI.T_PARENT_LOTS_API.COMMENTS = 'RECV')
            )
  And      TRINITI.T_PARENT_LOTS_API.TRANSACTION_ID = TXN_CODE19_18_FROP4000_TO4000.CONTROL_NO

Не удается понять, где произошел сбой запроса.

1 Ответ

0 голосов
/ 06 февраля 2020

SQL0104N - синтаксическая ошибка. Он говорит, что ожидает другого ")" где-то. Глядя на ваше утверждение, посчитайте, сколько у вас "(" вы открываете и сколько закрываете "). Это кажется правильным. Теперь, поскольку Db2 жалуется на конец оператора, вам нужно проверить, действительно ли оператор передан Db2, как указано выше.

Есть ли дополнительный символ или форматирование, которое указывает на «конец оператора»?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...