ABAP--新语法--Open SQL--第五天-- OFFSET / Strict Mode

OFFSET

从ABAP 7.51开始,Open SQL中引入了关键字OFFSET,可以指定查询结果的开始位置

 指定OFFSET时,结果集必须使用ORDER BY进行排序,与UP TO一起使用可以实现分页查询;
可以用union合并多个查询结果,各个查询结果列的数目、名称、顺序、类型一样,union不能与up to n rows一起使用;

DATA: lv_int TYPE i VALUE 1.
cl_demo_input=>request( CHANGING field = lv_int ).

SELECT carrid, connid, fldate
  FROM sflight
 ORDER BY carrid, connid, fldate
  INTO TABLE @DATA(lt_data)
 UP TO 10 ROWS
OFFSET @( ( lv_int - 1 ) * 10 ).

在这里插入图片描述 在这里插入图片描述

SELECT char10, int4
    FROM demo_ddic_types
    WHERE char10 = char`hallowelt`
  union all
  SELECT  char10, int8 as int4
    FROM demo_ddic_types
  union distinct
  SELECT  char10, int8 as int4
    FROM demo_ddic_types
  INTO TABLE @DATA(lt_data7)
* up to 8 rows
  .

Strict Mode

使用了部分新语法后,系统会以严格模式进行语法检查

 每个版本有不同的 Strict Mode,但都会包含旧版本的内容,在语法检查时一般都会有提示性的错误信息,我们只需要按提示做修改即可;
但是有些错误信息可能看不出来是哪些语句的问题,这个时候我们就要自己去检查一下新语法的使用规则
 部分检查示例:
SLECT LIST 中的字段需要用 ,分隔
本地对象需要使用转义符@
INTO 语句需要放在 SELECT 语句中的最后一部分;不是在select子句末尾,而是整个查询的末尾,但在up to和offset之前;

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值