ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ABAP SQL 中的 Modify 使用

ABAP SQL 中的 Modify 使用

原创 Linux操作系统 作者:leniz 时间:2009-01-07 14:07:07 0 删除 编辑

      记得先前写新增修改记录时,采用先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/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-05-31

  • 博文量
    448
  • 访问量
    1113601