對於所loop的內錶中的資料是只可能有一行或者無,用以下方法
注意事項:
需要對所需要查詢的關鍵字進行排序
需要判斷read語句是否執行成功
read語句執行成功後需要清空工作區,否則會導致資料的重複寫入
sort gt_t001w by werks.
loop at gt_data into gwa_data .
read table gt_t001w into gwa_t001w with key werks = gwa_data-werks binary search.
if sy-subrc eq 0..
gwa_data-name2 = gwa_t001w-name1.
modify gt_data from gwa_data.
endif.
clear gwa_t001w.
clear: gwa_data.
endloop.
如果所需要查詢的內錶內容是一對多的內錶,則是在read語句後面再加loop語句
注意事項
排序,因為是需要用到二分法
清除工作區
sort gt_mseg by ebeln ebelp.
loop at gt_data into gwa_data .
read table gt_mseg with key ebeln = gwa_data-ebeln ebelp = gwa_data-ebelp binary search transporting no fields .
if sy-subrc eq 0.
loop at gt_mseg into gwa_mseg from sy-tabix.
if gwa_mseg-ebeln <> gwa_data-ebeln or gwa_mseg-ebelp <> gwa_data-ebelp.
exit.
endif.
gwa_data-menge3 = gwa_mseg-menge.
endloop.
endif.
clear: gwa_data.
endloop.
內錶 XML互轉 JSON 內錶互轉
轉進內錶 strans try.call transformation id source xml lv text out options clear all 4.7 沒有這個options value handling accept data loss 這個引數也沒有 result data p ...
Oracle誤刪表內資料,如何恢復
實際操作中,有時候會誤刪資料,下面是一些恢復資料的方法 1.flashback query 這裡只是查出被刪之前的資料,如果要恢復,則把查詢出來的資料匯出為sql,然後找到原表,重新匯入資料即可 閃回到15分鐘前 select from orders as of timestamp systimes...
刪除資料庫中的表及表內資料
如果要刪除資料表中所有資料只要遍歷一下資料庫再刪除就可以了,清除所有資料我們可以使用搜尋出所有表名,構造為一條sql語句進行清除了 使用sql刪除資料庫中所有表是不難的,就是遍歷一下資料庫中所有使用者表,並將它清除,下邊是具體的sql語句,在關鍵部分已經作了詳細的注釋 變數 tablename儲存表...