前言 – 这篇文章是的一部分 ABAP初学者 系列。
目录
介绍
ABAP/4 编程语言中使用了两种形式的 SQL:
开放 SQL 和原生 SQL
无论 R/3 系统使用何种数据库平台,Open SQL 都允许您访问 ABAP 字典中所述的数据库表。
在 ABAP/4 程序中,原生 SQL 允许您使用特定于数据库的 SQL 语句。 这意味着您可以使用不受 ABAP 字典管理的数据库表并合并来自 R/3 系统外部的数据。
Open SQL 是一组对 R/3 系统的核心数据库进行操作的 ABAP 语句。 操作的结果和任何错误消息都不受正在使用的数据库系统的影响。
什么是开放 SQL
Open SQL 允许程序员直接操作 SQL 语句。 在原生 SQL 中,语句后没有句点的要求。 它也偏离了 ABAP 最佳实践。 尽管 API 在所有供应商之间是统一的,但 Open SQL 操作对应于每个数据库提供的原始操作。
什么是原生 SQL
在 ABAP 程序中,原生 SQL 允许您使用特定于数据库的 SQL 语句。 这意味着您可以使用不受 ABAP 字典管理的数据库表,从而合并来自 R/3 系统以外的源的数据。
在 ABAP 程序中,您可以使用 ABAP Native SQL 添加特定于数据库的 SQL 语句。 大多数具有特定于数据库的 SQL 查询的 ABAP 程序不适用于其他数据库。 如果涉及许多数据库,请使用 Open SQL。 在 ABAP 程序中使用 EXEC 语句来执行 ABAP Native SQL。 您可以使用 Open SQL(传统 SQL 语句的子集)访问 R/3 系统中的所有数据库表,而不管制造商是谁。
Open SQL 与 Native SQL 的区别
打开 SQL | 本机SQL |
Open SQL 允许程序员直接操作 SQL 语句。 | 在 ABAP 程序中,原生 SQL 允许您使用特定于数据库的 SQL 语句。 |
它在应用服务器级别实现和执行代码 | 它在数据库级别实现和执行代码 |
无法从其他系统访问表。 | 可以从其他系统访问表。 |
可以使用 OpenSQL 访问来自多个数据库平台的数据。 | 本机 SQL 中不允许来自不同数据库平台的数据。 |
在 EXEC 和 END-EXEC 语句之间,执行语法检查。 | 没有语法检查。 |
每个打开的 SQL 语句后都需要一个句点 (.),就像每个 ABAP 语句后都需要一个句点一样。 | 本机 SQL 中的语句后面不需要一个句点。 它也偏离了标准的 ABAP 约定。 |
0条评论