ABAP数据库操作语句Into

   into 详解: 
    1. * 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. 
  2.  * 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.

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

posted @ 2018-06-11 17:47  v5v5v5v5  阅读(919)  评论(0编辑  收藏  举报