ABAP之SQL操作(select、insert、update、delete、modify)

一、SELECT 语句

SELECT [DISTINCT][AS]
          INTO|APPEND [CORRESPONDING FIELDS OF] TABLE[PACKAGE SIZE]..
          FROM [AS ]  UP TO  ROWS...
            [INNER]JOIN  [AS ] ON ...
          WHERE    ...
          GROUP BY  ..
          HIVING .
          ORDER BY PRIMARY KEY.

lines:single

读取一条数据:.

SELECT SINGLE  ... WHERE

注意:限制好where条件,否则返回任意一条数据,与预期结果不同.

DISTINCT :删除重复值。

SELECT [DISTINCT]...WHERE   

当INTO 为字段或者结构体时,结尾必须加上ENDSELECT;如果是内表则不需要。

AS:别名

SELECT   [AS ]..

INTO语句:

1. [CORRESPONDING FIELDS OF]:自动给相同字段名匹配赋值。wa为结构体,变量,查询一条数据时,常用语loop循环中。

SELECT  ...INTO [CORRESPONDING FIELDS OF] .

2.内表

查询多条数据是使用内表,须使用APPENDING,不能使用INTO,INTO是删除内表数据后插入时使用的。

 SELECT ...INTO|APPEND [CORRESPONDING FIELDS OF] TABLE[PACKAGE SIZE]..

PACKAGE SIZE:表示每次追加到内表的条数,此时须使用ENDSELECT.

  SELECT INTO CORRESPONDING FIELDS OF TABLE itab 
    PACKAGE SIZE 5
    FROM SPFLI.
  ENDSELECT.

FROM语句:

1.选择静态表:

 SELECT ...FROM [AS ]

2.JOIN语句

SELECT ...FROM [INNER] JOIN  [AS ] ON ...

3.限制查询个数

SELECT ...FROM  UP TO  ROWS...

WHERE语句:

1.where条件语句

SELECT ...WHERE    ...

2.常用语句

  SELECT ...WHERE  [NOT]BETWEEN  AND .
  SELECT ...WHERE COL2 LIKE '_ABC%'.
  SELECT ...WHERE  [NOT]IN (,..,)...
  SELECT ...WHERE  [NOT]IN ... 查询存在selection table,Range变量里的数据。

3.FOR ALL ENTRIES 语句.

SELECT ... FOR ALL ENTRIES IN  WHERE     

GROUP :   

SELECT   ...
    GROUP BY   ...
    HIVING .

ORDER BY:

  -根据标的key值进行排序。
  -只适合于SELECT * 语句。
  -在JOIN语句和视图中无法使用。

SELECT ...
  ORDER BY  [ASCENDING|DESCENDING] 
            [ASCENDING|DESCENDING] 

二、INSERT 

一条数据    

INSERT INTO  VALUES .
INSERT  FROM .

多条数据.

INSERT  FROM TABLE  [ACCEPTING DUPLICATE KEYS]

插入数据时,避免有相同主键引起dump error错误,使用ACCEPTING DUPLICATE。此时sy-subrc返回4.

三、UPDATE

一条数据    

UPDATE  FROM .  "表结构相同

多条数据.

UPDATE  FROM TABLE . 
UPDATE  SET   WHERE .

四、DELETE

一条数据    

DELETE  FROM .  "表结构相同

多条数据.

DELETE  FROM  WHERE . 

五、MODIFY.

一条数据    

MODIFY  FROM .  "表结构相同

多条数据.

MODIFY    FROM TABLE . 

 

你可能感兴趣的:(ABAP之SQL操作(select、insert、update、delete、modify))