ABAP資料庫操作之更新資料
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子句中的唯一條件。