zoukankan      html  css  js  c++  java
  • [转]ABAP数据库操作系列(4)

    继续我们的数据库操作语句讲解:Into

    3.into 详解:
      * into [wa] :把数据选择出来放入工作区[wa]中。
        注意:如果是select f1 f2 … fn into wa的时候,wa中的字段数一定要大于等于n的个数,不然会出现runtime error 。
              如果数据库中只有一条记录,那么endselect语句被忽略。
              因为是每次选出一条记录,所以endselect语句是必须的。
       实例:
    DATA: BEGIN OF wa1,
            client   TYPE scarr-mandt,
            carrid   TYPE scarr-carrid,
            carrname TYPE scarr-carrname,
            url      TYPE scarr-url,
            rest(100),
          END OF wa1.
    SELECT * INTO wa1 FROM SCARR.
      WRITE: / wa1-carrid, wa1-carrname.
    ENDSELECT.
      * INTO CORRESPONDING FIELDS OF wa:把数据选择到wa中的相应字段中。这个语句和上面的语句唯一的区别就是,指定的字段名称问题。因为选择数据的时候数据库中会有一个比较的过程,所以这个方式不如上面的方式速度快。只要注意wa中字段命名的问题,可以避免使用corresponding语句。
      * INTO (f1, ..., fn):把选择出来的数据分别放到几个变量中,into的变量数和select的变量的个数必须相等。
       实例:
    DATA:  carrid   TYPE scarr-carrid,
           carrname TYPE scarr-carrname.
           CARRNAME LIKE SCARR-CARRNAME,
    SELECT carrid carrname
           INTO (carrid, carrname)
           FROM scarr.
      WRITE: / carrid, carrname.
    ENDSELECT.

      * INTO TABLE itab
      * INTO CORRESPONDING FIELDS OF TABLE itab
        这两个语句的区别同into wa 和into corresponding field of wa一样,因为这个是把选择出来的数据放到内表中,所以不需要endselect语句了。
      * APPENDING TABLE itab
      * APPENDING CORRESPONDING FIELDS OF TABLE itab :和上面的into table itab等一样,也是把取得的数据加到内表中,无需endselect 。

  • 相关阅读:
    2019.03.20 mvt,Django分页
    2019.03.18 连接my sql
    第三方包
    飞机大战完结篇
    Python复习基础篇
    final、权限、内部类
    接口、多态
    继承、super、this、抽象类
    String类、static、Arrays类、Math类
    Scanner类、Random类、ArrayList类
  • 原文地址:https://www.cnblogs.com/wequst/p/1513859.html
Copyright © 2011-2022 走看看