Open SQL 和 Native SQL 的区别

by | 2022 年 4 月 8 日 | ABAP, ABAP初学者, 神谕, 树液, SQL

首页 » 神谕 » SQL » Open SQL 和 Native SQL 的区别

前言 – 这篇文章是的一部分 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条评论

提交评论

您的电邮地址不会被公开。 必填带 *

本网站使用Akismet来减少垃圾邮件。 了解您的数据如何处理.

作者