1,insert语句:插入数据。
<1>,单行插入:insert into dbtab values wa.
insert into dbtab form wa.
工作区wa是与数据表具有相同结构的数据对象,insert语句操作后,如果相同表关键字的数据条目已存在,则不能重新插入,只能对该行的非关键字数值进行更改(可使用update或modify语句)。
<2>,多行插入:通过内表向数据库插入多行数据
insert dbtab from table itab.
若至少有一条不能插入,避免运行是错误,可使用下列格式:
insert dbtab from table itab accepting duplicate keys.
其中accepting duplicate keys选项作用是:如果出现关键字相同条目,sy-subrc返回4,并跳过该条目,更新所有其他条目。
2,update语句:更新数据
<1>,单行更新:update dbtab set f1 = g1 ... fn = gn where <fix_key>.
f1为表组件字段名,g1为新设定的值,fix_key为表关键字段的值(单行更新必须在where中指明全部表关键字段的值)。
<2>,多行更新:update dbtab set f1 = g1 ... fn = gn [ where <conditions> ].此处不需要在where中限定所有表关键字段。
或者使用内表来更新:update target from table itab.
3,modify语句:若数据库中已存在,则进行更新,不存在,则进行插入。
<1>,单行添加或更新:modify dbtab from wa.
<2>,多行添加或更新:modify dbtab from table itab.
4,delete语句:删除数据
<1>,单行删除:delete from dbtab where <fix_key>. (必须在where中指明全部表关键字段的值)。
或:delete dbtab from wa.
<2>,多行删除:delete from dbtab where <conditions>.
或通过内表:delete dbtab [client specified] from table itab.
<3>,删除所有:有两种方式实现
* 在通过内表删除多行数据条目的过程中将内表置为空。
* 使用where field like '%' 作为where子句中的唯一条件。