原因是注释引起的,也有可能是中文原因
会导致报错的写法:
红色写法会报错,要修改为蓝色的,另外<!---->这种格式仿佛也有问题。
<!-- 同步cnaps数据,不存在则新增,每次处理i条 -->
<update id="syncNapsToAssisiatebank" parameterClass="java.lang.Integer">
MERGE INTO AIMS_ASSOCIATEBANK AA
USING
(SELECT
0 AS ISABROAD,
1 AS INFBANK,
SB.BANK_CODE AS BANKCODE,
CA.CNAPSNO AS ASSOCIATEBANKCODE,
CA.OPBANKNAME AS ASSOCIATEBANKNAME,
'CHN' AS COUNTRYNO,
CA.STD_REGION_CODE AS REGNO
FROM CNAPS CA
LEFT JOIN CNAPS_BANK_MAPPING CB ON CB.CNAPS_BANK_NO = CA.BANKNO -- bankNo和bankCode映射
LEFT JOIN ADMP_STANDARD_BANK SB ON CB.BANK_CODE = SB.BANK_CODE /* bankCode信息,使用 */
left join cnaps_region_mapping RM on RM.region_code=Ca.Regno /* regNo和regCode映射信息 */
LEFT JOIN vw_standard_region VSR ON VSR.region_code = RM.STAND_REGION_CODE /* regNo信息,使用 */
WHERE NOT EXISTS (SELECT 1 FROM AIMS_ASSOCIATEBANK AA WHERE AA.ASSOCIATEBANKCODE = CA.CNAPSNO)
AND ROWNUM <= #syncNum#) A
ON (A.ASSOCIATEBANKCODE = AA.ASSOCIATEBANKCODE)
WHEN NOT MATCHED THEN
INSERT (
ASSID,
ISABROAD,
INFBANK,
BANKCODE,
ASSOCIATEBANKCODE,
ASSOCIATEBANKNAME,
COUNTRYNO,
REGNO,
CREATE_TIME,
UPDATE_TIME,
SYNC_TYPE,
SYNC_UPDATE_TIME
) VALUES (
AIMS_ASSOCIATEBANK_SEQ.NEXTVAL,
A.ISABROAD,
A.INFBANK,
A.BANKCODE,
A.ASSOCIATEBANKCODE,
A.ASSOCIATEBANKNAME,
A.COUNTRYNO,
A.REGNO,
SYSDATE,
SYSDATE,
'CNAPS',
SYSDATE
)
</update>
本文详细解析了在MyBatis中由于不当的XML注释导致的SQL语法错误,提供了正确的注释格式,并展示了如何修改错误的注释以避免SQL语法问题。文章还包含了具体的SQL语句和注释示例,帮助读者理解并解决类似问题。
2520

被折叠的 条评论
为什么被折叠?



