记得先前写新增修改记录时,采用先Update,然后判断Sy-subrc是否为零,为零则Update成功,否则再用一句Insert的语句把新增的记录插入表。

      这个写法被人家笑死了。 “不会用Modify 吗?”

       新语言新特性!所以,不管以前做过什么,遇到新的东西,也有必要好好去看文档。

      那么这么好用的Modify是如何用的呢?

     其实很简单,Modify会根据你提供的Workarea中的字段对应Table的字段,通过匹配Primary Key 值来操作,记住这个Primary Key是Table的而不是Workarea或内表中的非数值字段。
        MODIFY dbtab - source 
        Syntax
          
... FROM { {wa} | {TABLE itab} }.

    这条语句会先判断是否存在相同的Primary Key值,有的话会采用Update,这里要注意一下,wa或内表和DB Table的结构是一样的,如果你只是更新其中的某个栏位,请不要使用这个语句,否则它会wa中的空值栏位更新到数据库中,要不你必须把所有的栏位先按照原来的值填充进来。
       如果没有相同的Primary Key则会产生一条Insert的语句.

       总结如下:
       1. 适合整条记录更新或新增
        2. 无法按照非Primary Key值作为条件去更新某条记录

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/554557/viewspace-531620/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/554557/viewspace-531620/

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐