native SQL 和 open SQL的区别

native sql 为数据库自身的sql,可以直接访问数据库,能够实现对数据库表及视图直接进行创建、修改、删除等操作,具有一定的安全风险,对sap执行效率也会有较大影响,一般不推荐使用。
 
不顾native sql有时候也能实现一些open sql无法实现的功能
 
open sql是完全集成到ABAP语言中的标准sql子集,它可以通过sap的数据库接口识别不同的数据库,然后由该接口把sap的open sql自动转换为相应数据库的特定sql语句
 
open sql的执行状态通过系统变量sy-subrc来表现,如果sy-subrc = 0,则表示open sql执行成功,如果不为0,则表示执行失败
 
查询语句
 
group by 分组查询条件
order by 排序条件
 
需要注意的是:在open sql中使用for all entries in itab前,一定要检查itab是否为空,否则会造成sql的执行效率降低
 
up to n rows 表示可读取数据指定前n条,但是不能继续读取数据,使用package size n,可以连续读取数据,每次读取指定条数,但必须应用于select....endselect.
posted @ 2014-06-21 16:33  林中白狼-LBG  阅读(1399)  评论(0编辑  收藏  举报