ABAP 三种操作数据库的方法 OPEN SQL, EXEC SQL, ADBC

OPEN SQL这里就不多说了,可以执行大部分DML语句,但是却不支持DDL,DCL,UNIT,也没办法执行数据内嵌的函数。

EXEC SQL 和 ADBC 是所谓的Native SQL,这种方式直接进入指定数据库,不涉及到DBI,这样就没有table buffer。

相对EXEC SQL来说,更推荐ADBC的方式执行native sql,这种方式的好处是更加容易追踪错误。

以下是实例,

data: lo_sql type ref to cl_sql_statement,

          lx_sql type ref to cx_sql_exception,

         lo_result type ref to cl_sql_result_set,

         lr_mara type ref to data,

         lt_mara type standard table of mara.

 

 ceate object lo_sql exporting con_ref = cl_sql_connection=>getconnection( 'ORA' ).

 lo_result = lo_sql->execute_query( |select * from MARA where mandt = {sy-mandt}|).

get reference of lt_mara into lr_mara.

lo_result->set_param_table( lr_mara ).

lo_result->next_package().

lo_result->close().

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值