在 ABAP 的世界里,新增一个真正意义上的顶层关键字,属于那种很多开发者职业生涯里都碰不上几次的事情。上一次足够有存在感的例子,还得追到 ABAP SQL 在 7.51 里引入WITH,用来支持 Common Table Expression。到了 ABAP CE 2602,这件事又发生了一次,这次轮到的是MERGE。SAP 官方关键字文档已经把MERGE作为 ABAP SQL 语句收录,同时 SAP 社区的这篇新文章也明确点出了它作为全新 top-level keyword 的特殊性。(SAP Help Portal)
这件事有意思,不只是因为多了一个新命令,更因为它把好几条技术线重新拧到了一起。数据库能力下沉、ABAP SQL 持续向标准 SQL 靠拢、HANA 能力被更直接地借给 ABAP、语言兼容性又不能被粗暴打破,这几件事平时看上去像平行线,这次都被MERGE串起来了。SAP 官方文档里对MERGE的定义很直接,它允许通过评估另一个数据源来修改目标数据源,把插入、更新、删除这一类逻辑统一到一个语句里。(