ABAP数据库操作05-数据删除

在SE11创建一个表zlion_test,字段:学号、姓名、性别、年龄,并在SE16N中添加5条记录

1、delete where 单/多行删除
REPORT zcsdn_lion_db04.
DELETE FROM zlion_test WHERE xh = 1."单条删除
DELETE FROM zlion_test WHERE age > 30."多条删除

2、delete from 工作区
REPORT zcsdn_lion_db04.
DATA i_wa TYPE zlion_test.
i_wa-xh = 1.
DELETE zlion_test FROM i_wa.
3、delete from table
REPORT zcsdn_lion_db04.
DATA i_wa TYPE zlion_test.
DATA i_tab TYPE STANDARD TABLE OF zlion_test.
i_wa-xh = 1.
APPEND i_wa TO i_tab.
i_wa-xh = 2.
APPEND i_wa TO i_tab.
i_wa-xh = 4.
APPEND i_wa TO i_tab.
DELETE zlion_test FROM TABLE i_tab..
IF sy-subrc = 0.
ENDIF.
备注:delete from table 删除多行时,只要其中有一条不存在的记录,sy-subrc返回的都是非0,所以不能以sy-subrc=0来判断是否删除成功
4、区别
用where删除语句是:delete from table where 条件
非where删除语句是:delete table from 工作区/table
请注意上面的 from table 和 table from的位置
这篇博客介绍了ABAP中进行数据删除的四种方法,包括`delete where`语句进行单/多行删除,从工作区删除,以及`delete from table`的使用。文章强调了`delete from table`在删除多行时的限制,即如果存在无效记录,sy-subrc将不为0,不能仅依赖此判断删除成功。最后,作者提到了`where`删除和非`where`删除语句的区别。
2685

被折叠的 条评论
为什么被折叠?



