MaxDB执行UPDATE语句时遇Missing keyword:WITH错误(错误码-5015)
MaxDB更新时报错Missing keyword:WITH(错误码-5015)的解决方法
你遇到的错误-5015提示缺少WITH关键字,实际问题出在agm_confirm_dthr = TIMESTAMP这行代码上。在MaxDB中,TIMESTAMP是数据类型的标识符,不能直接用来赋值当前时间戳,数据库解析时误解了语法结构,才抛出了这个看似不相关的错误。
把TIMESTAMP替换成MaxDB支持的当前时间函数即可解决问题,比如CURRENT_TIMESTAMP。修正后的SQL语句如下:
UPDATE agm SET agm_confirm_stat = 'C', agm_confirm_usr = 'MEDICWARE', agm_confirm_obs = 'Wellon: Confirmado', agm_obs = NVL(agm_obs, '') || '//Wellon: Confirmar', agm_confirm_dthr = CURRENT_TIMESTAMP WHERE (agm_pac = '319900') AND ( agm_obs NOT LIKE '%Wellon: Confirmar%' OR agm_obs IS NULL ) AND (agm_str_cod = 'FBC') AND (agm_hini = '2022-12-07 08:00:00') AND (agm_confirm_stat != 'C') AND (agm_stat = 'A')
如果需要更高精度的时间(包含微秒),可以改用SYSTIMESTAMP;也可以用TIMESTAMP(CURRENT_DATE, CURRENT_TIME)手动组合当前日期和时间。
内容的提问来源于stack exchange,提问作者Nathan
相关产品推荐
相关产品推荐

