for all entries 小结

说明:for all entries使用方法与注意点。

    1)作用: 为了避免多次重复的数据库查询(尤其是效率很低的嵌套查询),可以先将表XXX中符合条件的数据选择进一个内表,然后仅根据该内表中包含的字段值继续查询表XXX,这样大大减少了对于表XXX的查询次数。

    格式: select …  from  [表]   for all entries in  [itab]  where [表字段] = itab-字段  and …。

   2)  EX

   select carrid connid from spfli into table spfli_tab where cityfrom = 'Singapore'.

  select carrid carrname from scarr into wa_scarr  for all entries in spfli_tab 

                                      where carrid = spfli_tab-carrid.

  endselect.

        以上两个select不是嵌套关系,而是并列关系,从而提高了查询效率。

   3) 注意:     (1)应该先判断条件内表是否为空,若为空,则条件不在起筛选作用,会取出所有结果;

                          (2)会自动删除查询结果的重复行;

                          (3) 数据库字段与内表中的关联比较字段必须具有相同的类型和长度;

                          (4) 在where比较条件中不能使用操作符LIKE、BETWEEN和IN,也不能跟随ORDER BY排序字句。

转载于:https://www.cnblogs.com/johnson_yao/archive/2011/04/21/2023773.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值