[转]ABAP数据库操作系列(1)
现在介绍一些abap的数据库操作.......
The Database Interface(数据库接口)
为了避开各种数据库的操作语句,函数,功能的不同,R/3系统在每个工作进程(work process)里面都设置了和数据库的接口。R/3系统应用这些接口和数据库进行交互操作,数据库的接口把R/3系统的对数据库的操作请求转换成标准的SQL语句。这样就实现了应用服务器和数据库服务器的独立,使程序设计人员只要考虑如何实现功能而不必为对什么数据库进行操作而担心。
R/3系统有两种方法可以访问数据库:Open SQL和Native SQL。
Open SQL
Open SQL 语句是标准SQL的一个子集,它被完全的整合在ABAP之中。可以通过Open SQL语句直接访问数据库,而不用考虑R/3系统是安装在那种数据库之上。通过open sql你可以读,插入,删除,更新数据库表里的内容。但是不能够新建以及删除数据库表。
Open sql通过和abap语句的整合,可以简化某些操作,也可以加速对数据库的操作。例如order by就不需要在数据库选数据的时候操作,只要通过abap提供的语句就可以实现,这样可以提高程序的性能。
同时因为open sql和abap的完美结合,所以在abap程序设计的时候,应该首先考虑使用open sql。
Native SQL
Native sql和abap只是部分的和abap整合,它是和具体的数据库相关的,所以在程序设计的时候必须要考虑你所应用的数据库类型。而且,native sql语句是不经过检查和转化的,这些语句会直接发给数据库系统进行操作。因此在程序设计的时候要尽量避免使用native sql。
那么这个native sql到底用来干什么呢?其实它的主要功能就是用在basis系统中,例如创建数据库表,修改表的定义等等。