[SAP ABAP] 删除内表数据

1.利用索引删除数据

语法格式

DELETE <itab> INDEX <idx>.

<itab>:代表内表

<idx>:代表索引值

删除内表<itab>中的第<idx>条记录

示例1

lt_student内表中存在3条数据记录

我们使用如下指令删除内表中的第一条数据,结果如下所示:

DELETE lt_student INDEX 1.

2.利用WHERE条件语句删除数据

语法格式

DELETE <itab> WHERE <condition>.

<itab>:代表内表

<condition>:代表条件

示例2

lt_student内表中存在3条数据记录

结果显示:

语法格式

DELETE <itab> FROM <n1> TO <n2> WHERE <condition>.

<itab>:代表内表

<condition>:代表条件

删除内表<itab>中符合条件<condition>的记录中的第<n1>至<n2>条记录

示例3

lt_student内表中存在3条数据记录

删除lt_student内表中的第1和第2条数据记录

结果显示:

3.利用ADJACENT DUPLICATE语句删除重复数据

语法格式

DELETE ADJACENT DUPLICATES FROM <itab> [COMPARING f1 f2...|ALL FIELDS].

<itab>:代表内表

使用ADJACENT DUPLICATE语句之前需要对内表进行排序才能达到预期效果

示例4

lt_student内表存在3条数据记录,其中有2条重复的数据记录

结果显示:

4.按工作区的内容删除数据

语法格式

DELETE TABLE <itab> FROM <wa>.

<itab>:代表内表

<wa>:代表工作区

示例5

lt_student内表存在2条数据记录

结果显示:

提示Tips

DELETE TABLE <itab> FROM <wa>.

1.使用上述语法删除内表<itab>的数据,只有内表<itab>的KEY字段值与工作区<wa>的KEY字段值完全匹配,才能删除内表的数据

2.当我们定义内表<itab>的时候,可以指定KEY字段,如果内表<itab>未定义KEY字段,则系统自动将所有的非数字类型的字段定义为KEY字段

练习案例

内表删除前的数据

场景1 

输出结果:

场景2

输出结果:

场景3

输出结果:

场景4

输出结果:

场景5

输出结果: 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值