
- SAP ABAP 教程
- SAP ABAP - 首頁
- SAP ABAP - 概述
- SAP ABAP - 環境
- SAP ABAP - 螢幕導航
- SAP ABAP - 基本語法
- SAP ABAP - 資料型別
- SAP ABAP - 變數
- SAP ABAP - 常量和字面量
- SAP ABAP - 運算子
- SAP ABAP - 迴圈控制
- SAP ABAP - 決策
- SAP ABAP - 字串
- SAP ABAP - 日期和時間
- SAP ABAP - 資料格式化
- SAP ABAP - 異常處理
- SAP ABAP - 字典
- SAP ABAP - 資料域
- SAP ABAP - 資料元素
- SAP ABAP - 表
- SAP ABAP - 結構
- SAP ABAP - 檢視
- SAP ABAP - 搜尋幫助
- SAP ABAP - 鎖物件
- SAP ABAP - 模組化
- SAP ABAP - 子程式
- SAP ABAP - 宏
- SAP ABAP - 函式模組
- SAP ABAP - 包含程式
- SAP ABAP - Open SQL 概述
- SAP ABAP - Native SQL 概述
- SAP ABAP - 內部表
- SAP ABAP - 建立內部表
- ABAP - 填充內部表
- SAP ABAP - 複製內部表
- SAP ABAP - 讀取內部表
- SAP ABAP - 刪除內部表
- SAP ABAP - 面向物件
- SAP ABAP - 物件
- SAP ABAP - 類
- SAP ABAP - 繼承
- SAP ABAP - 多型性
- SAP ABAP - 封裝
- SAP ABAP - 介面
- SAP ABAP - 物件事件
- SAP ABAP - 報表程式設計
- SAP ABAP - 對話程式設計
- SAP ABAP - 智慧表單
- SAP ABAP - SAPscript
- SAP ABAP - 使用者出口
- SAP ABAP - 使用者出口
- SAP ABAP - 業務附加功能 (Business Add-Ins)
- SAP ABAP - Web Dynpro
- SAP ABAP 有用資源
- SAP ABAP - 問答
- SAP ABAP - 快速指南
- SAP ABAP - 有用資源
- SAP ABAP - 討論
SAP ABAP - 刪除內部表
DELETE 語句用於從內部表中刪除一條或多條記錄。內部表的記錄可以透過指定表鍵或條件來刪除,也可以透過查詢重複條目來刪除。如果內部表具有非唯一鍵幷包含重複條目,則會刪除表中的第一個條目。
以下是使用 DELETE 語句從內部表中刪除記錄或行的語法:
DELETE TABLE <internal_table> FROM <work_area_itab>.
在上述語法中,<work_area_itab> 表示式是一個工作區,它應該與<internal_table> 內部表的型別相容。刪除操作是基於從工作區元件中獲取的預設鍵進行的。
您還可以透過使用以下語法在 DELETE TABLE 語句中顯式指定表鍵:
DELETE TABLE <internal_table> WITH TABLE KEY <K1> = <F1>………… <Kn> = <Fn>.
在此語法中,<F1>,<F2>…<Fn> 是內部表的欄位,<K1>,<K2>…<Kn> 是表的鍵欄位。DELETE 語句用於根據表示式 <K1> = <F1>,<K2> = <F2>…<Kn> = <Fn> 刪除<internal_table> 表的記錄或行。
注意 - 如果<F1>,<F2>…<Fn> 欄位的資料型別與<K1>,<K2>…<Kn> 鍵欄位不相容,則 SAP 系統會自動將其轉換為相容的格式。
示例
REPORT ZDELETE_DEMO. DATA: BEGIN OF Line1, ColP TYPE I, ColQ TYPE I, END OF Line1. DATA mytable LIKE HASHED TABLE OF Line1 WITH UNIQUE KEY ColP. DO 8 TIMES. Line1-ColP = SY-INDEX. Line1-ColQ = SY-INDEX + 4. INSERT Line1 INTO TABLE mytable. ENDDO. Line1-ColP = 1. DELETE TABLE mytable: FROM Line1, WITH TABLE KEY ColP = 3. LOOP AT mytable INTO Line1. WRITE: / Line1-ColP, Line1-ColQ. ENDLOOP.
以上程式碼產生以下輸出:
2 6 4 8 5 9 6 10 7 11 8 12
在這個例子中,mytable 有兩個欄位,ColP 和 ColQ。最初,mytable 填充了八行,其中 ColP 包含值 1、2、3、4、5、6、7 和 8。ColQ 包含值 5、6、7、8、9、10、11 和 12,因為 ColP 值每次遞增 4。
DELETE 語句用於刪除 mytable 中 ColP 鍵欄位的值為 1 或 3 的行。刪除後,mytable 的 ColP 欄位包含值 2、4、5、6、7 和 8,如輸出所示。ColQ 欄位包含值 6、8、9、10、11 和 12。
廣告