SAP ABAP語法Select single和FOR ALL ENTRIES IN到底哪個效能更好

時間 2022-04-28 14:52:27

1樓:匿名使用者

select single 和 for all entries in 不是一回事, 怎麼拿來比較

select single 應該是和 select .. up to one rows 來比, 據說是selelct single效率高,

1.據說select .. up to one rows 是選擇全部符合條件的, 然後再選其中的第一條

2.據說select single是選到一條就結束了

for all entries in 後面接乙個內錶, 用前要確保內錶有值, 用for all entries in 比用join效率高好多, 尤其資料多的時候, 不過**要多寫點。。。

2樓:匿名使用者

不能做對比!

select single 是選擇單條資料用的,類似 up to 1 rows。

for all entries in itab 意思是符合內錶關鍵字的資料。用for all entries in 比用join效率高好多,但前提條件是in itab 不能資料太龐大,不然還不如select + loop。

如果硬要比較那肯定是select single 效能最好

sap abap 裡使用select 篩選條件裡 在另乙個表裡查詢結果為真或假的怎麼寫? 不好意思,沒什麼分。

3樓:匿名使用者

樓主,不考慮表的邏輯,簡單來說,返回判斷值select matnr lfimg vrkme into (itab-matnr,itab-lfimg )

from lips

where vbeln in ( select vbeln from vbfa where vbelv eq itab1-vbeln

and posnv eq itab1-posnr and vbtyp_n = 'j') .

if sy-subrc = 0."選取的值不為空時,執行下面的操作xx = xx.

endif.

4樓:匿名使用者

樓主的意思似乎是 itab1作為條件,檢視vbfa的下乙個活動是否是lips中的記錄,有的話就去lips中查.

你想要的真假判斷我也不知.

但給個思路:

用for all entries in itab1 從vbfa中得到滿足條件的資料放入新的內錶itab2

讓後for all enti in itab2去查詢lips的資料個人認為這個應該能達到你的目的,而且效率應該還算不錯.

5樓:匿名使用者

在abap中,sql語句有自己的特殊性,你的需求應該是聯表查詢吧,按照你的要求應該類似這樣

select a~matnr a~lfimg vrkme into (itab-matnr,itab-lfimg )

from lips as a

inner join vbfa as bon a~連線欄位1 = b~連線欄位1 and a~連線欄位2 = b~連線欄位2…… (兩個表的關聯字段)

where 條件

該語法應該可以解決你的問題

6樓:靜水逐花

lips是交貨單 vbfa是銷售憑證流

不知道你是什麼邏輯 需要根據vbfa中是否有記錄才取lips中交貨單你所說的vbfa 裡面有才取lips 是可以用樓上所說的inner join的

join之後 如果vbfa不存在那行記錄 join之後是沒有資料的,但是可能出現重複行,可以刪掉

另外,你也可以查詢出來之後,然後判斷是否存在vbfa中 不存在則刪除哎哎哎 就說這麼些吧 搞不懂你究竟想寫什麼

7樓:匿名使用者

abap有它自己獨特的取數方法與邏輯, 和我們用sql語句直接查詢不同, 這個思維要轉換過來! !

第一步: 到出作為篩選條件的資料放入內錶:

select vbeln

from vbfa

into table gt_vbfa

where vbtyp_n = 'j' .

第二步: 用for all entries in 前要先判斷是否為空if gt_vbfa is not initial .

select matnr lfimg vrkmefrom lips

into gt_lips

for all entries in gt_vbfawhere vbeln = gt_vbfa-vbelnand vbelv = gt_vbfa-vbelvand posnv = gt_vbfa-posnr .

endif .

第三步: 使用內錶裡面的資料

loop at gt_lips into gwa_lips......

endloop .

備註:abap 還有很多規範及效能上的要求, 總之資料是sap系統整個業務的核心, 不是簡單的增,刪, 改, 查!

希望這簡單的回答能對你有所幫助!

英語的語法和時態有什麼區別,英語語法和中文語法有什麼區別?

語法屬於乙個概括概念,時態是語法的其中乙個組成部分。英語語法和中文語法有什麼區別?如語義結構的功能性比較,思維邏輯的語言表達比較等等。英語語法和漢語語法既有相同相似之處,也有不同之處。在我們的英語教學過程中,學生和教師往往不由自主地將這兩種語法聯絡在一起。在某些方面,漢語和英語是有相似性的,在學習英...

語文語法和病句問題,如何修改病句及語法問題?

1.鼎湖山占有大面積可以保持乾淨水體的天然無菌山林環境。2.你的到來是主語從句。使是謂語。我是賓語。不高興是賓語補足語。此為使動用法。3.完善食品安全法規,規範食品安全監管機制,提高人們的食品安全意識,三個短句作主語。到是謂語。地步是賓語。第一句 修改為 鼎湖山占有乾淨水體的大面積並保持天然無菌的山...

漢語語法和英語語法類似麼,異同之處是多還是少

我想說,我的漢語語法完全不通,也能自由交流。但要學好英語就要學通語法。語法是一種新的語言思維體系。運用這種語法思維可以學通任何一門語言。但是我不建議你通過漢語的語法來學習英語,因為其差別太大。並且我也不認為你學好漢語語法很容易。你可以從零起步學習語法思維。我告訴你什麼叫語法思維。語法思維就是在建立句...

英語語法填空,英語語法填空和完形填空的區別

1,that 2,faster 3,or otherwise 4,woke 5,flashing 6,death 7,both 8,running 9,whether 10,hesitating that faster otherwise wakes flashing death both runn...

英語語法改錯,英語語法填空和短文改錯怎麼提高

公尺思出國英語 i am a top student 這個主句成分是正確的 who impose that efforts 這個地方從語法上來講是可以的,但是impose使用的太硬了,試試acquire,另外,that 一般修飾單數,所以efforts可以寫成effort effort is ver...