【发布时间】:2020-02-06 12:14:00
【问题描述】:
我在 db2 数据库中运行以下查询时遇到 SQL 异常。
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
没有得到查询出错的地方。
【问题讨论】:
-
什么 Db2 版本和平台?
-
为什么有些引号加倍 ('' DBK '') 而有些则不加倍(where 子句中的任何),您的查询使用了一个 TXN_CODE19_18_FROP4000_TO4000 对象,该对象不在任何 from 子句中跨度>
-
除了上面的错误。语句中不允许使用
'' ''序列。这是什么?如果是单个空格,那么一定是' '...